

/* ─────────────────────────────────────────────────────────
   TOKENS — edite aqui para personalizar cores e fonte
───────────────────────────────────────────────────────── */
:root {
  --royal:  #1829BA;              /* azul principal — botões e destaques */
  --ice:    #9ED4F8;              /* azul gelo — acentos em fundo escuro  */
  --mid:    #6282C8;              /* azul médio — labels e secundários    */
  --dark:   #0E1440;              /* navy profundo — fundos escuros       */
  --white:  #FFFFFF;
  --off:    #F3F7FF;              /* branco levemente azulado             */
  --soft:   #E8EFFF;              /* azul muito suave — cards e hover     */
  --txt:    #1A1F3A;              /* texto principal em fundo claro       */
  --txt-m:  #5A6080;              /* texto secundário                     */
  --bd:     rgba(98,130,200,.15); /* borda em fundo claro                 */
  --bdd:    rgba(158,212,248,.12);/* borda em fundo escuro                */
  --font:   'Plus Jakarta Sans', system-ui, sans-serif;
}

/* ── RESET ─────────────────────────────────────────────── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:var(--font); color:var(--txt); background:var(--white); overflow-x:hidden; }

/* ── NAVBAR ─────────────────────────────────────────────── */
.nav {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  display:flex; align-items:center; justify-content:space-between;
  padding:0 6%; height:62px;
  border-bottom:1px solid transparent;
  transition:background .3s, border-color .3s;
}
.nav.scrolled { background:rgba(14,20,64,.97); border-color:var(--bdd); backdrop-filter:blur(14px); }
.nav__logo { font-size:1.2rem; font-weight:700; color:var(--white); text-decoration:none; letter-spacing:-.01em; }
.nav__logo i { font-style:normal; color:var(--ice); }
.nav__links { display:flex; align-items:center; list-style:none; gap:2.25rem; }
.nav__links a { color:rgba(255,255,255,.6); text-decoration:none; font-size:.85rem; font-weight:500; transition:color .18s; }
.nav__links a:hover { color:var(--white); }
.nav__cta { border:1px solid rgba(255,255,255,.22) !important; padding:.42rem 1.1rem; border-radius:.35rem; color:var(--white) !important; transition:background .18s, border-color .18s !important; }
.nav__cta:hover { background:var(--royal) !important; border-color:var(--royal) !important; }
.nav__burger { display:none; flex-direction:column; gap:5px; background:none; border:none; padding:4px; }
.nav__burger span { display:block; width:22px; height:1.5px; background:var(--white); border-radius:2px; }

/* ── MOBILE NAV ─────────────────────────────────────────── */
.mnav { display:none; position:fixed; inset:0; z-index:999; background:var(--dark); padding:5rem 8% 3rem; flex-direction:column; }
.mnav.open { display:flex; }
.mnav__close { position:absolute; top:1.5rem; right:6%; background:none; border:none; color:rgba(255,255,255,.4); font-size:1.5rem; line-height:1; }
.mnav a { font-size:1.6rem; font-weight:700; color:var(--white); text-decoration:none; padding:1rem 0; border-bottom:1px solid var(--bdd); letter-spacing:-.01em; transition:color .18s; }
.mnav a:hover { color:var(--ice); }

/* ── HERO ───────────────────────────────────────────────── */
.hero {
  min-height:100vh; background:var(--dark);
  display:flex; flex-direction:column;
  position:relative; overflow:hidden;
}
.hero__inner {
  flex:1; display:grid; grid-template-columns:1fr 1fr;
  align-items:center; gap:3rem;
  padding:calc(62px + 4.5rem) 6% 3rem;
  position:relative; z-index:1;
}
.hero__tag {
  display:inline-block; font-size:.7rem; font-weight:600;
  letter-spacing:.12em; text-transform:uppercase;
  color:var(--mid); margin-bottom:1.75rem;
}
.hero__title {
  font-size:clamp(2.6rem, 5vw, 4rem);
  font-weight:700; line-height:1.15;
  letter-spacing:-.02em; color:var(--white);
  margin-bottom:1.25rem;
}
.hero__title .ice { color:var(--ice); font-weight:300; }
.hero__sub {
  font-size:1rem; font-weight:300;
  color:rgba(255,255,255,.55); line-height:1.7;
  max-width:420px; margin-bottom:2.25rem;
}
.hero__acts { display:flex; align-items:center; gap:1.25rem; flex-wrap:wrap; }

/* Buttons */
.btn {
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.8rem 1.75rem; border-radius:.4rem;
  font-size:.875rem; font-weight:600;
  text-decoration:none; letter-spacing:.01em;
  position:relative; overflow:hidden;
  transition:color .28s, border-color .28s;
  font-family:var(--font);
}
.btn::before { content:''; position:absolute; inset:0; transform:translateX(-102%); transition:transform .3s cubic-bezier(.16,1,.3,1); z-index:-1; }
.btn--solid { background:var(--royal); color:var(--white); }
.btn--solid::before { background:#2133c8; }
.btn--solid:hover::before { transform:none; }
.btn--ghost { border:1.5px solid rgba(255,255,255,.25); color:rgba(255,255,255,.75); background:transparent; }
.btn--ghost::before { background:rgba(255,255,255,.07); }
.btn--ghost:hover { border-color:rgba(255,255,255,.5); color:var(--white); }
.btn--ghost:hover::before { transform:none; }
.btn--outline { border:1.5px solid var(--bd); color:var(--txt); background:transparent; }
.btn--outline::before { background:var(--royal); }
.btn--outline:hover { color:var(--white); border-color:var(--royal); }
.btn--outline:hover::before { transform:none; }
.btn--wa { background:var(--white); color:var(--royal); }
.btn--wa::before { background:var(--ice); }
.btn--wa:hover { color:var(--dark); }
.btn--wa:hover::before { transform:none; }

/* Stats bar — faixa contínua com separadores */
.hero__bar {
  position:relative; z-index:1;
  display:flex; align-items:center;
  padding:1.75rem 6%; gap:2.5rem;
  border-top:1px solid var(--bdd);
  flex-wrap:wrap;
}
.hero__bar-sep { width:1px; height:20px; background:var(--bdd); flex-shrink:0; }
.hero__stat { display:flex; flex-direction:column; gap:.3rem; }
.hero__stat strong { font-size:1.4rem; font-weight:700; color:var(--ice); line-height:1; letter-spacing:-.01em; }
.hero__stat--stars strong { font-size:.9rem; letter-spacing:.06em; }
.hero__stat span { font-size:.68rem; font-weight:400; color:rgba(255,255,255,.38); letter-spacing:.04em; }

/* ── IMAGE PLACEHOLDER ──────────────────────────────────── */
/* Substitua a div.img-ph por <img loading="lazy" decoding="async" src="..." alt="..." class="img-slot"> */
.img-ph {
  width:100%; border-radius:1rem;
  background:rgba(20,32,164,.1);
  border:1.5px dashed rgba(158,212,248,.22);
  display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  gap:.75rem; min-height:340px;
  color:rgba(158,212,248,.38);
}
.img-ph--light {
  background:rgba(98,130,200,.06);
  border-color:rgba(98,130,200,.2);
  color:rgba(98,130,200,.4);
}
.img-ph p { font-size:.68rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
/* Estilo para a img real quando o usuário substituir */
img.img-slot { width:100%; border-radius:1rem; object-fit:cover; display:block; }

/* ── SHARED SECTION ─────────────────────────────────────── */
.sec { padding:6.5rem 6%; }
.sec--off  { background:var(--off); }
.sec--dark { background:var(--dark); }
.sec--royal{ background:var(--royal); }
.sec__inner{ max-width:1180px; margin:0 auto; }

.ey {
  display:inline-block; font-size:.68rem; font-weight:700;
  letter-spacing:.14em; text-transform:uppercase;
  color:var(--mid); margin-bottom:.75rem;
}
.ey--d { color:rgba(158,212,248,.65); }
.ey--b { color:rgba(255,255,255,.5); }

.h2 {
  font-size:clamp(1.75rem, 3vw, 2.5rem);
  font-weight:700; line-height:1.2; letter-spacing:-.02em;
  color:var(--txt);
}
.h2 .ice  { color:var(--royal); font-weight:300; }
.h2--d    { color:var(--white); }
.h2--d .ice { color:var(--ice); }
.h2--b    { color:var(--white); }
.h2--b .ice { color:var(--ice); }

.lead {
  font-size:.9375rem; font-weight:300; line-height:1.8;
  color:var(--txt-m); max-width:500px; margin-top:.75rem;
}
.lead--d { color:rgba(255,255,255,.52); }
.lead--b { color:rgba(255,255,255,.62); }

/* ── SERVICES ───────────────────────────────────────────── */
.svc-hd { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:3.5rem; gap:2rem; flex-wrap:wrap; }
.svc-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 5rem; }

.svc-row {
  display:flex; align-items:center; gap:1rem;
  padding:1.1rem 0 1.1rem 1rem;
  border-top:1px solid var(--bd);
  border:none; width:100%; text-align:left;
  font-family:var(--font); background:transparent;
  border-top:1px solid var(--bd);
  position:relative;
  transition:padding-left .22s, background .22s;
}
.svc-row::before {
  content:''; position:absolute; left:0; top:0; bottom:0;
  width:2px; background:var(--royal);
  transform:scaleY(0); transform-origin:top;
  transition:transform .22s;
}
.svc-row:hover::before { transform:scaleY(1); }
.svc-row:hover { padding-left:1.5rem; background:var(--soft); cursor:pointer; }
.svc-row__name { font-size:.9375rem; font-weight:500; color:var(--txt); flex:1; }
.svc-row__tag { font-size:.63rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--mid); opacity:.7; flex-shrink:0; }

/* ── ABOUT ──────────────────────────────────────────────── */
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:6rem; align-items:center; }
.about-img-col { display:flex; }

.stat-tiles { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--bdd); border:1px solid var(--bdd); margin-top:2.5rem; }
.st { background:var(--dark); padding:1.75rem 1.5rem; }
.st__n { font-size:2.5rem; font-weight:700; color:var(--ice); line-height:1; }
.st__l { font-size:.72rem; font-weight:400; color:rgba(255,255,255,.38); margin-top:.4rem; line-height:1.45; }

.about-text { font-size:.9375rem; font-weight:300; color:rgba(255,255,255,.58); line-height:1.85; margin-top:1.375rem; }
.about-list { list-style:none; border-top:1px solid var(--bdd); margin-top:2.25rem; }
.about-list li { padding:.9rem 0; border-bottom:1px solid var(--bdd); }
.about-list__ttl { display:flex; align-items:center; gap:.625rem; font-size:.9rem; font-weight:600; color:var(--white); margin-bottom:.25rem; }
.about-list__ttl::before { content:''; width:5px; height:5px; border-radius:50%; background:var(--ice); flex-shrink:0; }
.about-list__desc { font-size:.82rem; font-weight:300; color:rgba(255,255,255,.5); line-height:1.6; padding-left:calc(5px + .625rem); }

/* ── TEAM ───────────────────────────────────────────────── */
.team-hd { margin-bottom:3rem; }
.team-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:1.25rem; }
.teammate { background:var(--white); border:1px solid var(--bd); padding:2.25rem 1.75rem; border-radius:.5rem; text-align:center; transition:border-color .2s, transform .2s, box-shadow .2s; }
.teammate:hover { border-color:var(--mid); transform:translateY(-3px); box-shadow:0 8px 24px rgba(20,32,164,.08); }
.teammate__av { width:110px; height:110px; border-radius:50%; border:2px solid var(--mid); margin:0 auto 1.25rem; display:flex; align-items:center; justify-content:center; font-size:1.2rem; font-weight:700; color:var(--royal); background:var(--soft); overflow:hidden; flex-shrink:0; }
.teammate__av img { width:100%; height:100%; object-fit:cover; object-position:center top; display:block; border-radius:50%; }
.teammate__name { font-weight:700; font-size:.9rem; color:var(--txt); margin-bottom:.3rem; line-height:1.35; }
.teammate__role { font-size:.78rem; color:var(--txt-m); line-height:1.55; margin-bottom:.3rem; }
.teammate__cro { font-size:.68rem; color:var(--mid); font-weight:600; letter-spacing:.03em; margin-bottom:.45rem; }
.teammate__ig { font-size:.7rem; color:var(--mid); text-decoration:none; font-weight:600; transition:color .18s; }
.teammate__ig:hover { color:var(--royal); }

/* ── REVIEWS ────────────────────────────────────────────── */
.reviews-hd { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:2.75rem; gap:2rem; flex-wrap:wrap; }
.reviews-strip { overflow:hidden; }
.reviews-track { display:flex; gap:1.25rem; width:max-content; animation:rscroll 50s linear infinite; }
.reviews-strip:hover .reviews-track { animation-play-state:paused; }
@keyframes rscroll { from { transform:translateX(0); } to { transform:translateX(-50%); } }
.review-card { width:290px; flex-shrink:0; background:var(--white); border:1px solid var(--bd); border-radius:.5rem; padding:1.625rem; display:flex; flex-direction:column; gap:.875rem; transition:border-color .2s, transform .2s; }
.review-card:hover { border-color:var(--mid); transform:translateY(-2px); }
.review-card__stars { color:var(--royal); font-size:.82rem; letter-spacing:.05em; }
.review-card__text { font-size:.855rem; font-weight:300; color:var(--txt-m); line-height:1.72; flex:1; display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }
.review-card__foot { display:flex; align-items:center; justify-content:space-between; margin-top:.25rem; }
.review-card__name { font-size:.8rem; font-weight:700; color:var(--txt); }
.review-card__via { display:flex; align-items:center; gap:.35rem; font-size:.68rem; font-weight:500; color:var(--txt-m); opacity:.5; }

/* ── INSTAGRAM ──────────────────────────────────────────── */
.ig-head { display:flex; justify-content:space-between; align-items:flex-end; gap:1.5rem; flex-wrap:wrap; margin-bottom:2.75rem; }
.ig-handle { font-size:1.5rem; font-weight:700; color:var(--white); letter-spacing:-.02em; margin-top:.4rem; }
.ig-handle span { color:var(--ice); font-weight:300; }
.ig-sub { font-size:.875rem; font-weight:300; color:rgba(255,255,255,.42); margin-top:.25rem; }
.ig-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:.625rem; }
.ig-post { aspect-ratio:1; position:relative; overflow:hidden; background:rgba(255,255,255,.03); border:1px solid var(--bdd); border-radius:.5rem; transition:border-color .22s; display:block; text-decoration:none; }
.ig-post:hover { border-color:var(--mid); }
.ig-post img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s; }
.ig-post:hover img { transform:scale(1.05); }
.ig-post__ph { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.75rem; color:rgba(158,212,248,.2); font-size:.62rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.ig-post__ov { position:absolute; inset:0; background:rgba(14,20,64,.5); display:flex; align-items:center; justify-content:center; opacity:0; transition:opacity .25s; border-radius:.5rem; }
.ig-post:hover .ig-post__ov { opacity:1; }

/* ── CONTACT ────────────────────────────────────────────── */
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:6rem; align-items:start; }
.contact-items { border-top:1px solid rgba(255,255,255,.15); margin-top:2.25rem; }
.ci { display:flex; gap:1rem; padding:1.125rem 0; border-bottom:1px solid rgba(255,255,255,.12); }
.ci__ic { color:var(--ice); flex-shrink:0; margin-top:.1rem; }
.ci__lb { font-size:.62rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.38); margin-bottom:.2rem; }
.ci__vl { font-size:.875rem; color:rgba(255,255,255,.82); line-height:1.55; }
.ci__vl a { color:inherit; text-decoration:none; }
.contact-r { display:flex; flex-direction:column; gap:1.75rem; }
.contact-q { font-size:clamp(1.5rem, 2.5vw, 2rem); font-weight:700; color:var(--white); line-height:1.25; letter-spacing:-.02em; }
.contact-q .ice { color:var(--ice); font-weight:300; }
.contact-sub { font-size:.875rem; font-weight:300; color:rgba(255,255,255,.55); line-height:1.75; }
.hours { display:flex; gap:1px; background:rgba(255,255,255,.15); border-radius:.35rem; overflow:hidden; }
.hour { flex:1; background:rgba(14,20,64,.22); padding:1.125rem 1.25rem; }
.hour__day { font-size:.62rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:rgba(255,255,255,.38); margin-bottom:.35rem; }
.hour__time { font-size:1rem; font-weight:600; color:var(--ice); }

/* ── FOOTER ─────────────────────────────────────────────── */
.footer { background:var(--dark); border-top:1px solid var(--bdd); padding:2rem 6%; display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.footer__logo { font-size:1.15rem; font-weight:700; color:var(--white); text-decoration:none; letter-spacing:-.01em; }
.footer__logo i { font-style:normal; color:var(--ice); }
.footer__links { display:flex; gap:1.75rem; flex-wrap:wrap; }
.footer__links a { font-size:.75rem; color:rgba(255,255,255,.3); text-decoration:none; transition:color .18s; }
.footer__links a:hover { color:var(--ice); }
.footer__copy { font-size:.72rem; color:rgba(255,255,255,.22); }

/* ── FLOAT WA ───────────────────────────────────────────── */
.wa { position:fixed; bottom:2rem; right:2rem; z-index:500; width:52px; height:52px; border-radius:50%; background:#25D366; display:flex; align-items:center; justify-content:center; text-decoration:none; box-shadow:0 4px 18px rgba(37,211,102,.4); transition:transform .2s; }
.wa:hover { transform:scale(1.09); }

/* ── MODAL ──────────────────────────────────────────────── */
.modal-bd { position:fixed; inset:0; z-index:2000; background:rgba(14,20,64,.85); backdrop-filter:blur(6px); opacity:0; pointer-events:none; transition:opacity .25s; display:flex; justify-content:flex-end; }
.modal-bd.open { opacity:1; pointer-events:all; }
.modal-panel { width:100%; max-width:500px; background:var(--dark); border-left:1px solid var(--bdd); padding:2.5rem; display:flex; flex-direction:column; overflow-y:auto; transform:translateX(100%); transition:transform .38s cubic-bezier(.16,1,.3,1); }
.modal-bd.open .modal-panel { transform:translateX(0); }
.modal-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:2rem; }
.modal-tag-lbl { font-size:.65rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--mid); }
.modal-close-btn { width:36px; height:36px; border:1px solid var(--bdd); background:none; color:rgba(255,255,255,.5); display:flex; align-items:center; justify-content:center; font-size:1rem; line-height:1; border-radius:.35rem; transition:border-color .18s, color .18s; font-family:var(--font); }
.modal-close-btn:hover { border-color:var(--mid); color:var(--white); }
.modal-name { font-size:clamp(1.8rem, 4vw, 2.75rem); font-weight:700; line-height:1.1; letter-spacing:-.02em; color:var(--white); margin-bottom:1.5rem; }
.modal-rule { width:36px; height:2px; background:var(--royal); margin-bottom:1.375rem; }
.modal-desc { font-size:.9375rem; font-weight:300; color:rgba(255,255,255,.58); line-height:1.8; margin-bottom:1.75rem; }
.modal-bullets { list-style:none; display:flex; flex-direction:column; gap:.625rem; margin-bottom:2.25rem; }
.modal-bullets li { font-size:.855rem; color:rgba(255,255,255,.55); display:flex; align-items:center; gap:.75rem; }
.modal-bullets li::before { content:''; flex-shrink:0; width:5px; height:5px; border-radius:50%; background:var(--ice); }
.modal-footer { margin-top:auto; padding-top:1.5rem; border-top:1px solid var(--bdd); display:flex; gap:1rem; flex-wrap:wrap; }

/* ── VÍDEO VERTICAL ─────────────────────────────────────── */
.vid-wrap { display:grid; grid-template-columns:1fr auto; gap:5rem; align-items:center; }
.vid-text .h2 { margin-bottom:1rem; }
.vid-text p { font-size:.9375rem; font-weight:300; color:var(--txt-m); line-height:1.8; margin-top:.875rem; max-width:420px; }
.vid-frame {
  width:280px; flex-shrink:0;
  aspect-ratio:9/16; border-radius:1.5rem; overflow:hidden;
  border:1.5px dashed rgba(98,130,200,.25); background:var(--soft);
  position:relative; box-shadow:0 20px 60px rgba(20,32,164,.1);
}
.vid-ph { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1rem; color:rgba(98,130,200,.42); }
.vid-ph p { font-size:.66rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; text-align:center; padding:0 1.5rem; }
.vid-player { width:100%; height:100%; object-fit:cover; border:none; display:block; }
@media (max-width:900px) { .vid-wrap { grid-template-columns:1fr; justify-items:center; gap:2.5rem; } .vid-text p { max-width:100%; } .vid-frame { width:230px; } }

/* ── GALERIA DE FOTOS ───────────────────────────────────── */
.gal-hd { margin-bottom:2.5rem; display:flex; justify-content:space-between; align-items:flex-end; gap:2rem; flex-wrap:wrap; }
.gal-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.gal-item {
  aspect-ratio:4/3; position:relative; overflow:hidden;
  border-radius:.75rem; border:1.5px dashed var(--bd); background:var(--off);
  transition:border-color .22s, box-shadow .22s;
}
.gal-item:hover { border-color:var(--mid); box-shadow:0 6px 20px rgba(20,32,164,.08); }
.gal-item img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s ease; }
.gal-item:hover img { transform:scale(1.06); }
.gal-ph { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.625rem; color:rgba(98,130,200,.42); }
.gal-ph span { font-size:.64rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
@media (max-width:768px) { .gal-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:480px)  { .gal-grid { grid-template-columns:1fr; } .vid-frame { width:200px; } }

/* ── SOBRE — fundo claro ────────────────────────────────── */
.sobre-light .about-text { color:var(--txt-m) !important; }
.sobre-light .about-list { border-top-color:var(--bd); }
.sobre-light .about-list li { border-bottom-color:var(--bd); }
.sobre-light .about-list__ttl { color:var(--txt) !important; }
.sobre-light .about-list__ttl::before { background:var(--royal) !important; }
.sobre-light .about-list__desc { color:var(--txt-m) !important; }
.sobre-light .stat-tiles { background:var(--bd); border-color:var(--bd); }
.sobre-light .st { background:var(--white); }
.sobre-light .st__n { color:var(--royal); }
.sobre-light .st__l { color:var(--txt-m); }

/* ── CONSULTÓRIO — galeria 3×2 ──────────────────────────── */
.clinica-head { margin-bottom:2.75rem; }
.clinica-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:.75rem; grid-auto-rows:1fr;
}
.clinica-ph {
  border-radius:.5rem; overflow:hidden;
  background:rgba(98,130,200,.06);
  border:1.5px dashed rgba(98,130,200,.2);
  display:flex; align-items:center; justify-content:center;
  color:rgba(98,130,200,.35);
  transition:border-color .2s;
}
.clinica-ph:hover { border-color:var(--mid); }
img.clinica-photo { width:100%; aspect-ratio:4/3; object-fit:cover; object-position:center; border-radius:.5rem; display:block; }
@media (max-width:640px) { .clinica-grid { grid-template-columns:1fr; } }

/* ── ÍCONES NOS TRATAMENTOS ─────────────────────────────── */
.svc-row__icon { flex-shrink:0; color:var(--mid); transition:color .22s; }
.svc-row:hover .svc-row__icon { color:var(--royal); }

/* ── FAQ — accordion minimalista ────────────────────────── */
.faq-list { border-bottom:1px solid var(--bd); }
.faq-item { border-top:1px solid var(--bd); }
.faq-q {
  width:100%; text-align:left; background:none; border:none;
  padding:1.25rem 0; font-family:var(--font);
  display:flex; justify-content:space-between; align-items:center; gap:1rem;
  font-size:.9375rem; font-weight:500; color:var(--txt);
  cursor:pointer; transition:color .2s;
}
.faq-q:hover { color:var(--royal); }
.faq-q__icon {
  width:22px; height:22px; flex-shrink:0;
  border:1px solid var(--bd); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:.85rem; font-style:normal; color:var(--mid);
  transition:transform .25s ease, background .22s, border-color .22s, color .22s;
}
.faq-item.open .faq-q { color:var(--royal); }
.faq-item.open .faq-q__icon {
  transform:rotate(45deg);
  background:var(--royal); border-color:var(--royal); color:var(--white);
}
.faq-a {
  overflow:hidden; max-height:0;
  transition:max-height .35s cubic-bezier(.25,.46,.45,.94);
}
.faq-item.open .faq-a { max-height:180px; }
.faq-a p {
  padding-bottom:1.375rem;
  font-size:.875rem; font-weight:300;
  color:var(--txt-m); line-height:1.78;
}

/* ── SCROLL REVEAL — discretas. Sofisticação, não efeitos. ── */

/* Scroll reveal — 20px, 600ms, ease-out suave */
.rv { opacity:0; transform:translateY(20px); transition:opacity .6s cubic-bezier(.25,.46,.45,.94), transform .6s cubic-bezier(.25,.46,.45,.94); }
.rv.on { opacity:1; transform:none; }
.rv.d1 { transition-delay:.08s; } .rv.d2 { transition-delay:.16s; }
.rv.d3 { transition-delay:.24s; } .rv.d4 { transition-delay:.32s; }
.rv.d5 { transition-delay:.40s; }

/* Underline animado — nav (esquerda → direita) */
.nav__links a:not(.nav__cta) {
  background-image:linear-gradient(rgba(158,212,248,.55), rgba(158,212,248,.55));
  background-size:0% 1px; background-repeat:no-repeat;
  background-position:left bottom;
  transition:color .18s, background-size .28s ease;
}
.nav__links a:not(.nav__cta):hover { background-size:100% 1px; }

/* Underline animado — footer */
.footer__links a {
  background-image:linear-gradient(rgba(158,212,248,.45), rgba(158,212,248,.45));
  background-size:0% 1px; background-repeat:no-repeat;
  background-position:left bottom;
  transition:color .18s, background-size .28s ease;
}
.footer__links a:hover { background-size:100% 1px; }

/* Arrow nos botões move 3px direita */
.btn .arr { display:inline-block; transition:transform .22s ease; }
.btn:hover .arr { transform:translateX(3px); }

/* Fotos escalam 1.02x — clínica e team quando foto real for adicionada */
.clinica-ph { overflow:hidden; }
img.clinica-photo { width:100%; aspect-ratio:4/3; object-fit:cover; object-position:center; border-radius:.5rem; display:block; }
.clinica-ph:hover img.clinica-photo { width:100%; aspect-ratio:4/3; object-fit:cover; object-position:center; border-radius:.5rem; display:block; }
img.hero__photo { transition:transform .5s ease; }
.hero__img-col:hover img.hero__photo { transform:scale(1.02); }
.teammate { overflow:hidden; }
.teammate img { width:100%; height:100%; object-fit:cover; transition:transform .38s ease; }
.teammate:hover img { transform:scale(1.02); }

/* Nav shadow ao scroll (mais refinado) */
.nav.scrolled { box-shadow:0 1px 16px rgba(3,3,25,.18); }

/* Svc-row — cursor pointer explícito */
.svc-row { cursor:pointer; }

/* ── HERO FOTO ──────────────────────────────────────────── */
.hero__img-col { display:flex; align-items:stretch; }
.hero__img-col picture { flex:1; display:block; }
.hero__photo-ph {
  width:100%; border-radius:.875rem; min-height:420px;
  background:rgba(20,32,164,.09);
  border:1.5px dashed rgba(158,212,248,.2);
  display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:.625rem;
  color:rgba(158,212,248,.38);
}
.hero__photo-ph p { font-size:.78rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.hero__photo-ph small { font-size:.7rem; color:rgba(158,212,248,.25); }
img.hero__photo { width:100%; height:500px; object-fit:cover; object-position:center; border-radius:.875rem; display:block; transition:transform .5s ease; }

@media (max-width:960px) { .hero__img-col { display:none; } }
.hero__line-clip { overflow:hidden; display:block; padding-bottom:.16em; margin-bottom:-.16em; }
.hero__line { display:block; transform:translateY(105%); animation:lineUp .65s cubic-bezier(.16,1,.3,1) forwards; }
.d1 { animation-delay:.3s; } .d2 { animation-delay:.42s; }
.d3 { animation-delay:.54s; } .d4 { animation-delay:.66s; }
@keyframes lineUp { to { transform:translateY(0); } }
.hero__tag-anim { opacity:0; animation:fadeUp .5s .15s forwards; }
.hero__sub-anim { opacity:0; animation:fadeUp .5s .8s forwards; }
.hero__acts-anim { opacity:0; animation:fadeUp .5s .95s forwards; }
@keyframes fadeUp { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }

/* ── RESPONSIVE ─────────────────────────────────────────── */
@media (max-width:960px) {
  /* Hero: empilha texto em cima, foto embaixo */
  .hero__inner { grid-template-columns:1fr; padding-top:calc(62px + 3rem); }
  .hero__img-col { display:flex; margin-top:2rem; }
  .hero__img-col picture { flex:1; display:block; }
  img.hero__photo { height:260px; border-radius:.75rem; }
  .hero__stat { font-size:.9rem; }
  .hero__stat strong { font-size:1.3rem; }
  .svc-grid { grid-template-columns:1fr; }
  .about-grid { grid-template-columns:1fr; gap:4rem; }
  .about-img-col { display:none; }
  .contact-grid { grid-template-columns:1fr; gap:3.5rem; }
  .ig-grid { grid-template-columns:repeat(3,1fr); }
  /* Galeria: 1 coluna no mobile */
  .clinica-grid { grid-template-columns:1fr; }
}
@media (max-width:768px) {
  .nav__links { display:none; }
  .nav__burger { display:flex; }
  .sec { padding:5rem 5%; }
  .hero__bar { gap:1.5rem; }
  .hero__bar-sep { display:none; }
  /* "Ver Todos" centralizado */
  .svc-hd { flex-direction:column; align-items:center; text-align:center; }
  .svc-hd .section__subtitle { margin:0 auto; }
  .reviews-hd { flex-direction:column; align-items:flex-start; }
  .footer { flex-direction:column; text-align:center; }
  .footer__links { justify-content:center; }
}
@media (max-width:600px) {
  .hero__title { font-size:2.4rem; }
  .hero__acts { flex-direction:column; align-items:flex-start; }
  .modal-bd { align-items:flex-end; }
  .modal-panel { max-width:100%; border-left:none; border-top:1px solid var(--bdd); transform:translateY(100%); max-height:88vh; }
  .modal-bd.open .modal-panel { transform:translateY(0); }
  .hours { flex-direction:column; }
  .ig-grid { grid-template-columns:repeat(3,1fr); gap:.4rem; }
}


/* ── LOCALIZAÇÃO ────────────────────────────────────────── */
.loc-grid {
  display:grid; grid-template-columns:1fr 1.6fr;
  gap:4rem; align-items:start;
}
.loc-info { display:flex; flex-direction:column; gap:1.75rem; }
.loc-address {
  font-size:.9375rem; font-weight:300;
  color:var(--txt-m); line-height:1.8;
}
.loc-address strong { display:block; font-weight:600; color:var(--txt); margin-bottom:.25rem; }
.loc-btn {
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.8rem 1.75rem; border-radius:.4rem;
  background:var(--royal); color:var(--white);
  font-size:.875rem; font-weight:600;
  text-decoration:none; font-family:var(--font);
  transition:background .2s; align-self:flex-start;
}
.loc-btn:hover { background:#2133c8; }
.loc-map {
  height:460px; border-radius:.875rem;
  overflow:hidden; border:1px solid var(--bd);
}
@media(max-width:768px) {
  .loc-grid { grid-template-columns:1fr; }
  .loc-map { height:320px; }
}

/* ── MAPA GOOGLE ────────────────────────────────────────── */
.map-wrap {
  width: 100%;
  height: 420px;
  margin-top: 3rem;
  border-radius: .75rem;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.15);
}

/* ═════════════════════════════════════════════════════════
   ACABAMENTOS PREMIUM — adicionados em 2026-10
═════════════════════════════════════════════════════════ */
::selection { background:var(--ice); color:var(--dark); }
:focus-visible { outline:2px solid var(--ice); outline-offset:3px; border-radius:4px; }
img, video { max-width:100%; }

/* Hero: brilho sutil atrás do título */
.hero::before {
  content:''; position:absolute; z-index:0; pointer-events:none;
  width:70vmax; height:70vmax; left:-25vmax; top:-30vmax;
  background:radial-gradient(closest-side, rgba(24,41,186,.45), transparent 70%);
}
.hero::after {
  content:''; position:absolute; z-index:0; pointer-events:none;
  width:50vmax; height:50vmax; right:-20vmax; bottom:-25vmax;
  background:radial-gradient(closest-side, rgba(158,212,248,.10), transparent 70%);
}
img.hero__photo { box-shadow:0 30px 80px rgba(0,0,0,.35); }

/* Botão WhatsApp flutuante: respeita a área segura do celular */
.wa { bottom:calc(1.25rem + env(safe-area-inset-bottom)); right:1.25rem; }
.wa::after {
  content:''; position:absolute; inset:0; border-radius:50%;
  box-shadow:0 0 0 0 rgba(37,211,102,.55); animation:waPulse 2.6s ease-out infinite;
}
@keyframes waPulse { 0% { box-shadow:0 0 0 0 rgba(37,211,102,.5); } 70%,100% { box-shadow:0 0 0 16px rgba(37,211,102,0); } }
@media (min-width:769px) { .wa { bottom:2rem; right:2rem; } }

/* Menu mobile: cabe em telas baixas */
.mnav { overflow-y:auto; }

/* ── AVALIAÇÕES — duas faixas em loop ───────────────────── */
@media (min-width:769px) { .reviews-hd { align-items:flex-end; } }
.gbadge {
  display:inline-flex; align-items:center; gap:.75rem;
  padding:.7rem 1.1rem; border:1px solid var(--bd); border-radius:.75rem;
  background:var(--white); text-decoration:none; color:var(--txt);
  box-shadow:0 6px 24px rgba(20,32,164,.06);
  transition:border-color .2s, transform .2s, box-shadow .2s;
}
.gbadge:hover { border-color:var(--mid); transform:translateY(-2px); box-shadow:0 10px 30px rgba(20,32,164,.1); }
.gbadge__txt { display:flex; flex-wrap:wrap; align-items:baseline; column-gap:.4rem; line-height:1.2; }
.gbadge__txt strong { font-size:1.25rem; font-weight:700; letter-spacing:-.01em; }
.gbadge__stars { color:#F5B301; font-size:.85rem; letter-spacing:.05em; }
.gbadge__txt small { flex-basis:100%; font-size:.68rem; color:var(--txt-m); margin-top:.15rem; }

.rmarqs { display:flex; flex-direction:column; gap:1rem; }
.rmarq {
  overflow:hidden; padding:.5rem 0;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
          mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}
.rmarq__track { display:flex; gap:1rem; width:max-content; will-change:transform; }
.rmarq--left  .rmarq__track { animation:marqLeft 75s linear infinite; }
.rmarq--right .rmarq__track { animation:marqRight 80s linear infinite; }
.rmarq:hover .rmarq__track, .rmarq:focus-within .rmarq__track, .rmarq.is-held .rmarq__track { animation-play-state:paused; }
@keyframes marqLeft  { from { transform:translateX(0); }    to { transform:translateX(-50%); } }
@keyframes marqRight { from { transform:translateX(-50%); } to { transform:translateX(0); } }

.rcard {
  width:270px; flex-shrink:0; margin:0;
  background:var(--white); border:1px solid var(--bd); border-radius:.875rem;
  padding:1.375rem; display:flex; flex-direction:column; gap:.875rem;
  box-shadow:0 4px 18px rgba(20,32,164,.04);
  transition:border-color .2s, transform .2s, box-shadow .2s;
}
.rcard:hover { border-color:var(--mid); transform:translateY(-3px); box-shadow:0 12px 30px rgba(20,32,164,.09); }
.rcard__stars { color:#F5B301; font-size:.85rem; letter-spacing:.08em; }
.rcard__text {
  margin:0; font-size:.86rem; font-weight:400; color:var(--txt-m); line-height:1.68; flex:1;
  display:-webkit-box; -webkit-line-clamp:5; -webkit-box-orient:vertical; overflow:hidden;
}
.rcard__text::before { content:'“'; font-size:1.6rem; line-height:0; vertical-align:-.45rem; margin-right:.15rem; color:var(--mid); opacity:.6; font-weight:700; }
.rcard__foot { display:flex; align-items:center; gap:.7rem; padding-top:.875rem; border-top:1px solid var(--bd); }
.rcard__av {
  width:36px; height:36px; border-radius:50%; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  color:var(--white); font-weight:700; font-size:.9rem;
}
.rcard__who { display:flex; flex-direction:column; gap:.15rem; min-width:0; }
.rcard__name { font-size:.82rem; font-weight:700; color:var(--txt); text-transform:capitalize; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rcard__via { display:flex; align-items:center; gap:.3rem; font-size:.66rem; color:var(--txt-m); opacity:.75; }
@media (min-width:769px) { .rcard { width:330px; padding:1.625rem; } .rmarqs { gap:1.25rem; } .rmarq__track { gap:1.25rem; } }

/* ── INSTAGRAM ──────────────────────────────────────────── */
.ig-sec { position:relative; overflow:hidden; }
.ig-sec::before {
  content:''; position:absolute; pointer-events:none; width:60vmax; height:60vmax; right:-25vmax; top:-25vmax;
  background:radial-gradient(closest-side, rgba(24,41,186,.35), transparent 70%);
}
.ig-sec .sec__inner { position:relative; }
.ig-head { align-items:flex-end; }
.ig-sub { max-width:440px; line-height:1.7; margin-top:.75rem; color:rgba(255,255,255,.55); }
.ig-profile {
  display:inline-flex; align-items:center; gap:.875rem; text-decoration:none;
  padding:.6rem 1.1rem .6rem .6rem; border:1px solid var(--bdd); border-radius:999px;
  background:rgba(255,255,255,.04); transition:border-color .2s, background .2s;
}
.ig-profile:hover { border-color:rgba(158,212,248,.4); background:rgba(255,255,255,.07); }
.ig-profile__ring {
  width:52px; height:52px; border-radius:50%; padding:2.5px; flex-shrink:0;
  background:conic-gradient(from 210deg, #FEDA75, #FA7E1E, #D62976, #962FBF, #4F5BD5, #FEDA75);
}
.ig-profile__av { display:block; width:100%; height:100%; border-radius:50%; overflow:hidden; border:2.5px solid var(--dark); }
.ig-profile__av svg { width:100%; height:100%; display:block; }
.ig-profile__txt { display:flex; flex-direction:column; gap:.1rem; }
.ig-profile__txt strong { color:var(--white); font-size:.95rem; }
.ig-profile__txt small { color:rgba(255,255,255,.45); font-size:.72rem; }
.ig-grid { gap:.375rem; }
.ig-post { border-radius:.375rem; }
.ig-post__ov { color:var(--white); border-radius:.375rem; }
.ig-cta { margin-top:2rem; display:flex; justify-content:center; }
.btn--ig {
  color:var(--white); border:none;
  background:linear-gradient(100deg, #F58529, #DD2A7B, #8134AF, #515BD4, #8134AF, #DD2A7B, #F58529);
  box-shadow:0 10px 30px rgba(221,42,123,.25);
}
.btn--ig::before { background:rgba(255,255,255,.12); }
.btn--ig:hover::before { transform:none; }
@media (min-width:769px) { .ig-grid { gap:.75rem; } .ig-post, .ig-post__ov { border-radius:.625rem; } .ig-cta { justify-content:flex-start; } }
@media (hover:none) { .ig-post__ov { opacity:0; } }

/* ── GALERIA: ampliar fotos ─────────────────────────────── */
.clinica-ph { cursor:zoom-in; }
.clinica-ph img.clinica-photo { transition:transform .45s ease; }
.clinica-ph:hover img.clinica-photo { transform:scale(1.04); }
.lb {
  position:fixed; inset:0; z-index:3000; background:rgba(8,12,40,.94);
  display:flex; align-items:center; justify-content:center; padding:4rem 1rem;
  opacity:0; pointer-events:none; transition:opacity .25s;
  -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
}
.lb.open { opacity:1; pointer-events:all; }
.lb__img { max-width:min(1100px, 100%); max-height:100%; border-radius:.75rem; box-shadow:0 30px 80px rgba(0,0,0,.5); transform:scale(.97); transition:transform .3s cubic-bezier(.16,1,.3,1); }
.lb.open .lb__img { transform:none; }
.lb__btn {
  position:absolute; width:44px; height:44px; border-radius:50%;
  border:1px solid rgba(255,255,255,.2); background:rgba(255,255,255,.06); color:var(--white);
  font-size:1.5rem; line-height:1; display:flex; align-items:center; justify-content:center;
  cursor:pointer; font-family:var(--font); transition:background .2s;
}
.lb__btn:hover { background:rgba(255,255,255,.16); }
.lb__close { top:1rem; right:1rem; font-size:1rem; }
.lb__prev { left:1rem; top:50%; transform:translateY(-50%); }
.lb__next { right:1rem; top:50%; transform:translateY(-50%); }
.lb__count { position:absolute; bottom:1.25rem; left:50%; transform:translateX(-50%); color:rgba(255,255,255,.6); font-size:.75rem; letter-spacing:.1em; }
@media (max-width:600px) { .lb__prev, .lb__next { top:auto; bottom:.75rem; transform:none; } }

/* ── SCROLL REVEAL: só esconde se o JS estiver ativo ────── */
html:not(.js) .rv { opacity:1 !important; transform:none !important; }

/* ── Movimento reduzido ─────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
  .hero__line { transform:none; }
  .rv { opacity:1; transform:none; }
  .rmarq { -webkit-mask-image:none; mask-image:none; overflow-x:auto; scroll-snap-type:x mandatory; }
  .rmarq__track { animation:none !important; transform:none !important; padding:0 5%; }
  .rmarq .rcard[aria-hidden="true"] { display:none; }
  .rcard { scroll-snap-align:start; }
  .wa::after { display:none; }
}
@media (min-width:1024px) { .ig-grid { grid-template-columns:repeat(6,1fr); } }

/* ── INSTAGRAM: posts em loop automático ────────────────── */
.igmarq {
  overflow:hidden; padding:.25rem 0;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
          mask-image:linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent);
}
.igmarq__track { display:flex; gap:.625rem; width:max-content; animation:marqLeft 70s linear infinite; will-change:transform; }
.igmarq:hover .igmarq__track, .igmarq:focus-within .igmarq__track, .igmarq.is-held .igmarq__track { animation-play-state:paused; }
.igp {
  position:relative; display:block; flex-shrink:0;
  width:190px; aspect-ratio:1; border-radius:.625rem; overflow:hidden;
  background:rgba(255,255,255,.04); border:1px solid var(--bdd); text-decoration:none;
}
.igp img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .45s ease; }
.igp:hover img { transform:scale(1.05); }
.igp__ov {
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  background:rgba(14,20,64,.45); color:var(--white); opacity:0; transition:opacity .25s;
}
.igp:hover .igp__ov, .igp:focus-visible .igp__ov { opacity:1; }
.igp__badge {
  position:absolute; top:.5rem; right:.5rem; width:28px; height:28px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; color:var(--white);
  background:rgba(0,0,0,.45); -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px);
}
.igp__brand {
  position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:.6rem; padding:1rem; text-align:center;
  background:linear-gradient(150deg, #010E91, #0E1440 70%);
}
.igp__brand svg { width:46px; height:46px; border-radius:.5rem; }
.igp__brand-txt { color:var(--white); font-size:.82rem; font-weight:700; line-height:1.3; letter-spacing:-.01em; }
.igp__brand-cta { color:var(--ice); font-size:.62rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.ig-sec .ig-cta { margin-top:2rem; }
@media (min-width:769px) { .igp { width:260px; } .igmarq__track { gap:.875rem; } }
@media (prefers-reduced-motion: reduce) {
  .igmarq { -webkit-mask-image:none; mask-image:none; overflow-x:auto; scroll-snap-type:x mandatory; }
  .igmarq__track { animation:none !important; padding:0 5%; }
  .igmarq .igp[aria-hidden="true"] { display:none; }
  .igp { scroll-snap-align:start; }
}

/* ── CRÉDITO DO DESENVOLVEDOR ───────────────────────────── */
.devcredit {
  background:#080C2B; border-top:1px solid var(--bdd);
  padding:1.5rem 5% calc(1.5rem + env(safe-area-inset-bottom));
  display:flex; flex-direction:column; align-items:center; gap:.6rem; text-align:center;
}
.devcredit__pill {
  position:relative; display:inline-flex; align-items:center; flex-wrap:wrap; justify-content:center;
  gap:.5rem .75rem; padding:.7rem 1.25rem; border-radius:999px; text-decoration:none;
  color:var(--white); font-size:.82rem; isolation:isolate;
  background:rgba(255,255,255,.04);
  transition:transform .25s, box-shadow .25s;
}
.devcredit__pill::before {
  content:''; position:absolute; inset:0; border-radius:inherit; padding:1.5px; z-index:-1;
  background:conic-gradient(from var(--ang, 0deg), #9ED4F8, #1829BA, #25D366, #9ED4F8);
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
  animation:devSpin 4s linear infinite;
}
@property --ang { syntax:'<angle>'; initial-value:0deg; inherits:false; }
@keyframes devSpin { to { --ang:360deg; } }
.devcredit__pill:hover { transform:translateY(-2px); box-shadow:0 10px 30px rgba(37,211,102,.18), 0 0 0 4px rgba(158,212,248,.06); }
.devcredit__spark { color:var(--ice); animation:devTwinkle 2.4s ease-in-out infinite; }
@keyframes devTwinkle { 0%,100% { opacity:.5; transform:scale(.85) rotate(0); } 50% { opacity:1; transform:scale(1.15) rotate(20deg); } }
.devcredit__txt { color:rgba(255,255,255,.7); }
.devcredit__txt strong {
  font-weight:700; color:transparent;
  background:linear-gradient(90deg, #FFFFFF, #9ED4F8, #FFFFFF); background-size:200% 100%;
  -webkit-background-clip:text; background-clip:text; animation:devShine 3.5s linear infinite;
}
@keyframes devShine { to { background-position:-200% 0; } }
.devcredit__sep { width:1px; height:14px; background:rgba(255,255,255,.18); }
.devcredit__cta { display:inline-flex; align-items:center; gap:.4rem; color:#25D366; font-weight:600; }
.devcredit__sub { font-size:.66rem; letter-spacing:.08em; text-transform:uppercase; color:rgba(255,255,255,.3); }
@media (max-width:480px) { .devcredit__sep { display:none; } .devcredit__pill { flex-direction:column; gap:.3rem; border-radius:1.25rem; } }
@media (max-width:768px) { .devcredit { padding-bottom:calc(5.5rem + env(safe-area-inset-bottom)); } }

/* ── Logo oficial ───────────────────────────────────────── */
.igp__brand .logo-mark { width:56px; height:56px; border-radius:.5rem; display:block; }
.ig-profile__av .logo-mark { width:100%; height:100%; display:block; object-fit:cover; transform:scale(1.25); }
.nav__logo .brand-logo, .footer__logo .brand-logo { transition:opacity .2s; }
.nav__logo:hover .brand-logo { opacity:.85; }

/* ── Avatar do perfil: logo inteira, sem zoom ───────────── */
.ig-profile__av .logo-mark { transform:none; }

/* ── Botão "Seguir": cores começam a se mexer ao clicar ── */
.btn--ig { background-size:300% 100%; background-position:0% 50%; transition:transform .2s, box-shadow .3s; }
.btn--ig.is-moving { animation:igFlow 2.4s ease-in-out infinite alternate; box-shadow:0 12px 40px rgba(221,42,123,.45); }
.btn--ig:active { transform:scale(.97); }
@keyframes igFlow { from { background-position:0% 50%; } to { background-position:100% 50%; } }
@media (prefers-reduced-motion: reduce) { .btn--ig.is-moving { animation:none; } }
/* Cores em movimento também no hover */
.btn--ig:hover, .btn--ig:focus-visible { animation:igFlow 2.4s ease-in-out infinite alternate; box-shadow:0 12px 40px rgba(221,42,123,.45); }
@media (prefers-reduced-motion: reduce) { .btn--ig:hover { animation:none; } }

/* ── Equipe: 6 especialistas em grade simétrica ─────────── */
@media (min-width:1024px) { .team-grid { grid-template-columns:repeat(3,1fr); gap:1.5rem; } }
@media (min-width:600px) and (max-width:1023px) { .team-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:599px) { .team-grid { grid-template-columns:repeat(2,1fr); gap:.75rem; } .teammate { padding:1.5rem 1rem; } .teammate__av { width:88px; height:88px; } }


picture{display:contents}
.hero__img-col picture{display:block}
