/* =========================================================
   Tema ACOLHER — "Primeiro passo". Verde-azulado, areia e menta.
   Lora (display) + Nunito Sans. Formas suaves e arredondadas.
   ========================================================= */
:root {
  --teal: #0f5f62; --teal-d: #0a4446; --teal-2: #1d7b7d; --sand: #f4eadc; --sand-2: #eadcc7; --mint: #d7eee4; --mint-2: #b9e0d1; --clay: #b4613b;
  --c-bg: #fbf8f2; --c-surface: #f4eadc; --c-surface-2: #eadcc7; --c-ink: #17302f; --c-muted: #586a67; --c-line: #e5d9c8;
  --c-primary: #0f5f62; --c-primary-ink: #ffffff; --c-accent: #b4613b; --c-accent-ink: #ffffff;
  --c-hero-ink: #0a4446; --c-dark: #0a4446; --c-dark-ink: #f4eadc;
  --f-display: 'Lora', Georgia, serif; --f-body: 'Nunito Sans', system-ui, sans-serif;
  --fw-display: 600; --ls-display: -0.012em; --tt-kicker: none; --ls-kicker: .02em;
  --r-sm: 14px; --r: 24px; --r-lg: 36px; --r-btn: 999px; --r-img: 28px;
  --sh: 0 30px 60px -40px rgba(10, 68, 70, .45); --sh-sm: 0 10px 24px -16px rgba(10, 68, 70, .4);
  --hd-h: 80px;
}
body { font-size: 1.02rem; }
::selection { background: var(--mint-2); color: var(--teal-d); }
h1, h2, h3 { color: var(--teal-d); }
.sh .kicker, .split__txt .kicker, .ph-hero .kicker { justify-self: start; align-self: flex-start; }
.sh--center .kicker, .ph-hero .kicker { justify-self: center; align-self: center; }
.kicker { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px; border-radius: 999px; background: var(--mint); color: var(--teal); font-weight: 700; font-size: .82rem; }
.sh__t { color: var(--teal-d); }
.link-arrow { color: var(--teal); }
.btn { font-weight: 700; }
.btn--primary:hover { background: var(--teal-d); }

/* ---------- utilitários do tema ---------- */
.ac-kick { display: inline-flex; align-items: center; align-self: flex-start; gap: 8px; padding: 7px 16px; border-radius: 999px; background: #fff; color: var(--teal); font-weight: 700; font-size: .84rem; box-shadow: 0 6px 18px -12px rgba(10, 68, 70, .45); }
.ac-kick .ic { width: 16px; height: 16px; }
.ac-kick--soft { background: var(--mint); box-shadow: none; }
.ac-kick--mint { background: rgba(215, 238, 228, .14); color: var(--mint); box-shadow: none; }
.ac-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; padding: 13px 24px; border-radius: 999px; border: 1.5px solid transparent; font-weight: 700; font-size: .98rem; line-height: 1.2; text-decoration: none; cursor: pointer; transition: background-color .2s, color .2s, border-color .2s, transform .2s var(--ease); }
.ac-btn:hover { transform: translateY(-1px); }
.ac-btn--teal { background: var(--teal); color: #fff; }
.ac-btn--teal:hover { background: var(--teal-d); }
.ac-btn--sand { background: var(--sand); color: var(--teal-d); }
.ac-btn--sand:hover { background: #fff; }
.ac-btn--mint { background: var(--mint); color: var(--teal-d); }
.ac-btn--line { border-color: var(--teal); color: var(--teal); background: transparent; }
.ac-btn--line:hover { background: var(--teal); color: #fff; }
.ac-btn--ghostl { border-color: rgba(255, 255, 255, .42); color: #fff; }
.ac-btn--ghostl:hover { border-color: #fff; }
.ac-btn--sm { min-height: 42px; padding: 9px 18px; font-size: .92rem; }
.ac-btn--block { width: 100%; }
.ac-link { display: inline-flex; align-items: center; gap: 6px; color: var(--teal); font-weight: 700; text-decoration: none; }
.ac-link .ic { width: 16px; height: 16px; transition: transform .25s var(--ease); }
.ac-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.ac-link:hover .ic { transform: translateX(3px); }
.ac-center { margin-top: clamp(28px, 4vw, 46px); text-align: center; }
.ac-chip { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: 999px; background: var(--sand); color: var(--teal-d); font-size: .78rem; font-weight: 700; }
.ac-chip .ic { width: 14px; height: 14px; }
.ac-chip--mint { background: var(--mint); }

/* ---------- cabeçalho com menu em pílulas ---------- */
.ac-hd { position: sticky; top: 0; z-index: 50; background: rgba(251, 248, 242, .9); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); transition: box-shadow .3s; }
.ac-hd.is-scrolled { box-shadow: 0 12px 30px -24px rgba(10, 68, 70, .5); }
.ac-hd__in { position: relative; display: flex; align-items: center; gap: 18px; min-height: var(--hd-h); }
.ac-brand { display: inline-flex; align-items: center; gap: 12px; min-width: 0; text-decoration: none; color: var(--c-ink); }
.ac-brand__img { max-height: 46px; width: auto; }
.ac-brand__mark { display: grid; place-items: center; flex: none; width: 46px; height: 46px; border-radius: 50%; background: var(--mint); color: var(--teal); font: italic 600 1.05rem/1 var(--f-display); border: 2px solid #fff; box-shadow: 0 0 0 1px var(--mint-2); }
.ac-brand__txt { display: grid; line-height: 1.15; min-width: 0; }
.ac-brand__name { font: 600 1.2rem/1.15 var(--f-display); color: var(--teal-d); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ac-brand__sub { font-size: .8rem; color: var(--c-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ac-nav { margin-left: auto; }
.ac-pills { list-style: none; display: flex; gap: 2px; padding: 5px; border-radius: 999px; background: var(--sand); }
.ac-pills a { display: block; padding: 9px 15px; border-radius: 999px; text-decoration: none; font-weight: 600; font-size: .93rem; color: var(--c-ink); white-space: nowrap; transition: background .2s, color .2s, box-shadow .2s; }
.ac-pills a:hover { background: rgba(255, 255, 255, .7); }
.ac-pills a[aria-current] { background: #fff; color: var(--teal); box-shadow: 0 4px 14px -8px rgba(10, 68, 70, .55); }
.ac-nav__extra { display: none; }
.ac-cta { display: inline-flex; align-items: center; gap: 8px; flex: none; padding: 13px 20px; border-radius: 999px; background: var(--teal); color: #fff; text-decoration: none; font-weight: 700; font-size: .94rem; transition: background .2s; }
.ac-cta:hover { background: var(--teal-d); }
.ac-cta .ic { width: 18px; height: 18px; }
.ac-burger { display: none; align-items: center; gap: 10px; flex: none; height: 46px; padding: 0 16px 0 14px; border-radius: 999px; border: 1.5px solid var(--c-line); background: #fff; color: var(--teal-d); font-weight: 700; cursor: pointer; }
.ac-burger__ic { position: relative; width: 18px; height: 12px; }
.ac-burger__ic i { position: absolute; left: 0; right: 0; height: 2px; border-radius: 2px; background: currentColor; transition: transform .3s var(--ease); }
.ac-burger__ic i:first-child { top: 1px; } .ac-burger__ic i:last-child { bottom: 1px; }
.is-open .ac-burger__ic i:first-child { transform: translateY(4px) rotate(45deg); }
.is-open .ac-burger__ic i:last-child { transform: translateY(-4px) rotate(-45deg); }
@media (max-width: 1080px) {
  .ac-nav { display: none; }
  .ac-burger { display: inline-flex; }
  .ac-cta { margin-left: auto; }
  .ac-hd.is-open .ac-nav { display: block; position: absolute; top: 100%; left: 0; right: 0; margin: 0; padding: 14px var(--gutter) 22px; border-radius: 0 0 28px 28px; background: var(--c-bg); box-shadow: 0 30px 50px -30px rgba(10, 68, 70, .45); }
  .ac-hd.is-open .ac-pills { flex-direction: column; border-radius: 24px; padding: 6px; }
  .ac-hd.is-open .ac-pills a { font: 600 1.15rem/1.2 var(--f-display); padding: 14px 16px; border-radius: 18px; }
  .ac-hd.is-open .ac-nav__extra { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-top: 14px; }
  .ac-nav__tel { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; color: var(--teal-d); text-decoration: none; }
}
@media (max-width: 560px) {
  .ac-cta span, .ac-brand__sub { display: none; }
  .ac-cta { width: 46px; height: 46px; padding: 0; justify-content: center; }
  .ac-burger__l { display: none; }
  .ac-burger { padding: 0 14px; }
  .ac-hd__in { gap: 10px; }
  .ac-brand__name { font-size: 1.05rem; }
}

/* ---------- abertura: título curto + painel de 3 colunas ---------- */
.ac-hero { padding: clamp(36px, 6vw, 76px) 0 clamp(8px, 2vw, 24px); background: radial-gradient(1100px 520px at 50% -12%, var(--mint) 0%, rgba(215, 238, 228, 0) 70%), var(--c-bg); }
.ac-hero__head { display: flex; flex-direction: column; align-items: center; gap: 18px; max-width: 840px; margin: 0 auto clamp(30px, 4vw, 50px); text-align: center; }
.ac-hero__head .ac-kick { align-self: center; }
.ac-hero__t { font: 600 clamp(2.3rem, 5vw, 4.2rem)/1.07 var(--f-display); letter-spacing: -.02em; color: var(--teal-d); text-wrap: balance; }
.ac-hero__p { max-width: 660px; font-size: 1.12rem; color: var(--c-muted); }
.ac-panel { display: grid; grid-template-columns: .92fr 1.15fr 1fr; border-radius: var(--r-lg); background: #fff; box-shadow: 0 46px 90px -56px rgba(10, 68, 70, .55), 0 0 0 1px var(--c-line); overflow: hidden; }
.ac-panel__col { display: flex; flex-direction: column; gap: 14px; min-width: 0; padding: clamp(26px, 3vw, 40px); }
.ac-panel__k { display: inline-flex; align-items: center; gap: 8px; color: var(--teal); font-weight: 800; font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; }
.ac-panel__k .ic { width: 18px; height: 18px; }
.ac-panel__k--light { color: var(--mint); }
.ac-panel__s { margin-top: -6px; color: var(--c-muted); font-size: .95rem; }
.ac-doc { align-items: center; text-align: center; background: linear-gradient(180deg, var(--sand) 0%, #fff 78%); }
.ac-doc__img { position: relative; flex: none; width: 176px; height: 176px; border-radius: 50%; overflow: hidden; border: 6px solid #fff; box-shadow: 0 0 0 2px var(--mint-2), 0 22px 40px -24px rgba(10, 68, 70, .55); }
.ac-doc__photo, .ac-doc__img .ph { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 18%; aspect-ratio: auto; }
.ac-doc__name { margin-top: 4px; font: 600 1.38rem/1.2 var(--f-display); color: var(--teal-d); }
.ac-doc__reg { display: flex; align-items: flex-start; gap: 8px; max-width: 300px; font-size: .84rem; line-height: 1.45; color: var(--c-muted); text-align: left; }
.ac-doc__reg .ic { flex: none; width: 17px; height: 17px; margin-top: 1px; color: var(--teal); }
.ac-doc .ac-link { margin-top: auto; }
.ac-mid { border-left: 1px solid var(--c-line); border-right: 1px solid var(--c-line); }
.ac-imc, .ac-next { display: flex; flex-direction: column; gap: 14px; height: 100%; }
.ac-imc__row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.ac-fld { display: grid; gap: 6px; }
.ac-fld > span { font-size: .84rem; font-weight: 700; color: var(--teal-d); }
.ac-fld input { width: 100%; min-height: 52px; padding: 12px 16px; border-radius: var(--r-sm); border: 1.5px solid var(--c-line); background: var(--c-bg); font-size: 1.06rem; transition: border-color .2s, box-shadow .2s; }
.ac-fld input:focus { outline: none; border-color: var(--teal); box-shadow: 0 0 0 4px rgba(15, 95, 98, .14); }
.ac-imc__err { color: #b3261e; font-size: .88rem; font-weight: 600; }
.ac-imc__out { display: grid; gap: 6px; }
.ac-scale { margin-top: 6px; }
.ac-gauge { position: relative; height: 12px; }
.ac-scale__marks { position: relative; height: 18px; margin-top: 6px; font-size: .72rem; font-weight: 700; color: var(--c-muted); }
.ac-scale__marks span { position: absolute; transform: translateX(-50%); }
.ac-imc__hint { font-size: .84rem; color: var(--c-muted); }
.ac-gauge__bar { position: absolute; inset: 0; border-radius: 999px; background: linear-gradient(90deg, #cde6ee 0%, var(--mint-2) 22%, #efe2a6 43%, #f1caa6 57%, #e8ab8c 71%, #d68f7e 100%); }
.ac-gauge__dot { position: absolute; top: 50%; left: 0; width: 24px; height: 24px; border-radius: 50%; background: var(--teal-d); border: 5px solid #fff; transform: translate(-50%, -50%); box-shadow: 0 6px 14px -6px rgba(10, 68, 70, .7); transition: left .7s var(--ease); }
.ac-imc__v { display: flex; align-items: baseline; gap: 8px; }
.ac-imc__v strong { font: 600 2.6rem/1 var(--f-display); color: var(--teal-d); }
.ac-imc__v span { color: var(--c-muted); }
.ac-imc__c { font-weight: 800; color: var(--teal); }
.ac-imc__m { font-size: .88rem; color: var(--c-muted); }
.ac-slots { list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.ac-slot { display: flex; flex-direction: column; gap: 4px; height: 100%; padding: 14px 16px; border-radius: 16px; border: 1.5px solid var(--c-line); text-decoration: none; color: var(--c-ink); transition: border-color .2s, background .2s; }
.ac-slot:hover { border-color: var(--teal); background: var(--mint); }
.ac-slot__d { font-size: .8rem; color: var(--c-muted); text-transform: capitalize; }
.ac-slot__h { font: 600 1.55rem/1 var(--f-display); color: var(--teal-d); }
.ac-slots__load { grid-column: 1 / -1; padding: 16px; border-radius: 14px; background: var(--sand); color: var(--c-muted); font-size: .92rem; }
.ac-next .ac-link { margin-top: auto; }
.ac-step { position: relative; isolation: isolate; background: var(--teal); color: #fff; overflow: hidden; }
.ac-step::after { content: ''; position: absolute; z-index: -1; right: -90px; bottom: -110px; width: 260px; height: 260px; border-radius: 50%; background: radial-gradient(circle, rgba(215, 238, 228, .22), rgba(215, 238, 228, 0) 70%); }
.ac-step__t { font: 600 1.62rem/1.2 var(--f-display); color: #fff; }
.ac-step__p { color: rgba(255, 255, 255, .84); }
.ac-checks { list-style: none; display: grid; gap: 9px; }
.ac-checks li { display: flex; align-items: flex-start; gap: 10px; font-size: .94rem; font-weight: 600; }
.ac-checks .ic { flex: none; width: 22px; height: 22px; padding: 4px; border-radius: 50%; background: var(--mint); color: var(--teal); }
.ac-step__btns { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; margin-top: auto; padding-top: 6px; }
.ac-step__wa { display: inline-flex; align-items: center; gap: 8px; color: var(--mint); font-weight: 700; text-decoration: none; }
.ac-step__wa:hover { text-decoration: underline; text-underline-offset: 4px; }
.ac-hero__meta { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 26px; margin-top: 26px; color: var(--c-muted); font-size: .92rem; }
.ac-hero__meta li, .ac-hero__meta a { display: inline-flex; align-items: center; gap: 8px; color: inherit; }
.ac-hero__meta .ic { width: 17px; height: 17px; color: var(--teal); }
@media (max-width: 1060px) {
  .ac-panel { grid-template-columns: 1fr 1fr; }
  .ac-mid { border-right: 0; }
  .ac-step { grid-column: 1 / -1; }
  .ac-step__btns { flex-direction: row; flex-wrap: wrap; align-items: center; }
}
@media (max-width: 680px) {
  .ac-panel { grid-template-columns: 1fr; border-radius: 28px; }
  .ac-mid { border-left: 0; border-top: 1px solid var(--c-line); }
  .ac-doc__img { width: 148px; height: 148px; }
  .ac-hero__meta { justify-content: flex-start; flex-direction: column; align-items: flex-start; }
}

/* ---------- títulos de seção ---------- */
.ac-head { display: flex; flex-direction: column; gap: 14px; max-width: 720px; margin-bottom: clamp(28px, 4vw, 48px); }
.ac-head--center { align-items: center; margin-inline: auto; text-align: center; }
.ac-head--center .ac-kick { align-self: center; }
.ac-head--row { max-width: none; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 16px 48px; }
.ac-head--row > div { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.ac-head__t { font: 600 clamp(2rem, 3.6vw, 3rem)/1.1 var(--f-display); letter-spacing: -.015em; color: var(--teal-d); }
.ac-head__p { max-width: 520px; color: var(--c-muted); font-size: 1.05rem; }

/* ---------- caminhos de tratamento ---------- */
.ac-paths { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.ac-path { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 22px; padding: 16px; border-radius: var(--r); background: #fff; border: 1px solid var(--c-line); transition: box-shadow .35s var(--ease), transform .35s var(--ease); }
.ac-path:hover { transform: translateY(-3px); box-shadow: var(--sh); }
.ac-path__img { position: relative; min-height: 220px; border-radius: 18px; overflow: hidden; background: var(--sand); }
.ac-path__photo, .ac-path__img .ph { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; aspect-ratio: auto; }
.ac-path__body { display: flex; flex-direction: column; gap: 8px; padding: 8px 8px 8px 0; min-width: 0; }
.ac-path__n { font: italic 600 1.05rem/1 var(--f-display); color: var(--clay); }
.ac-path__t { font: 600 1.4rem/1.2 var(--f-display); }
.ac-path__t a { color: var(--teal-d); text-decoration: none; }
.ac-path__t a:hover { text-decoration: underline; text-underline-offset: 4px; }
.ac-path__p { color: var(--c-muted); font-size: .93rem; }
.ac-path__list { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto; padding-top: 6px; }
.ac-path__list a { display: inline-block; padding: 6px 12px; border-radius: 999px; background: var(--mint); color: var(--teal-d); font-size: .84rem; font-weight: 700; text-decoration: none; transition: background .2s, color .2s; }
.ac-path__list a:hover { background: var(--teal); color: #fff; }
.ac-path__more a { background: var(--sand); }
@media (max-width: 1040px) { .ac-paths { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .ac-path { grid-template-columns: 1fr; } .ac-path__img { min-height: 180px; } .ac-path__body { padding: 4px; } }

/* ---------- jornada em linha do tempo vertical ---------- */
.ac-sec--tl { background: var(--sand); }
.ac-tl { list-style: none; position: relative; display: grid; gap: 26px; max-width: 1000px; margin: 0 auto; }
.ac-tl::before { content: ''; position: absolute; left: 50%; top: 18px; bottom: 18px; width: 2px; transform: translateX(-50%); background: repeating-linear-gradient(180deg, var(--teal-2) 0 9px, transparent 9px 17px); }
.ac-tl__i { display: grid; grid-template-columns: minmax(0, 1fr) 84px minmax(0, 1fr); align-items: center; }
.ac-tl__dot { position: relative; z-index: 1; grid-column: 2; grid-row: 1; justify-self: center; display: grid; place-items: center; width: 60px; height: 60px; border-radius: 50%; background: var(--teal); color: #fff; box-shadow: 0 0 0 8px var(--sand); }
.ac-tl__dot .ic { width: 24px; height: 24px; }
.ac-tl__card { grid-column: 1; grid-row: 1; padding: 24px 26px; border-radius: var(--r); background: #fff; box-shadow: 0 26px 50px -42px rgba(10, 68, 70, .6); }
.ac-tl__i:nth-child(even) .ac-tl__card { grid-column: 3; }
.ac-tl__i:nth-child(odd) .ac-tl__card { text-align: right; }
.ac-tl__n { font: italic 600 .98rem/1 var(--f-display); color: var(--clay); }
.ac-tl__t { margin: 6px 0; font: 600 1.32rem/1.2 var(--f-display); color: var(--teal-d); }
.ac-tl__p { color: var(--c-muted); font-size: .95rem; }
@media (max-width: 760px) {
  .ac-tl::before { left: 29px; transform: none; }
  .ac-tl__i { grid-template-columns: 60px minmax(0, 1fr); gap: 14px; align-items: start; }
  .ac-tl__dot { grid-column: 1; width: 58px; height: 58px; }
  .ac-tl__card, .ac-tl__i:nth-child(even) .ac-tl__card { grid-column: 2; }
  .ac-tl__i:nth-child(odd) .ac-tl__card { text-align: left; }
}

/* ---------- equipe por área ---------- */
.ac-team { list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px; }
.ac-mem { --area: var(--teal); }
.ac-mem__a { display: flex; flex-direction: column; align-items: center; gap: 6px; height: 100%; padding: 0 22px 26px; border-radius: var(--r); border: 1px solid var(--c-line); border-top: 6px solid var(--area); background: #fff; color: var(--c-ink); text-align: center; text-decoration: none; transition: transform .35s var(--ease), box-shadow .35s var(--ease); }
.ac-mem__a:hover { transform: translateY(-4px); box-shadow: var(--sh); }
.ac-mem__area { padding: 6px 14px; border-radius: 0 0 14px 14px; background: var(--area); color: #fff; font-size: .74rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.ac-mem__img { position: relative; width: 132px; height: 132px; margin: 18px 0 8px; border-radius: 50%; overflow: hidden; box-shadow: 0 0 0 4px #fff, 0 0 0 6px var(--area); }
.ac-mem__photo, .ac-mem__img .ph { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; aspect-ratio: auto; font-size: 1.6rem; }
.ac-mem__t { font: 600 1.2rem/1.2 var(--f-display); color: var(--teal-d); }
.ac-mem__role { color: var(--c-muted); font-size: .9rem; }
.ac-mem__reg { padding: 3px 10px; border-radius: 999px; background: color-mix(in srgb, var(--area) 12%, #fff); color: var(--area); font-size: .76rem; font-weight: 700; }
.ac-mem__bio { margin-top: 6px; color: var(--c-muted); font-size: .88rem; }
@media (max-width: 700px) {
  .ac-team { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 14px; margin-inline: calc(-1 * var(--gutter)); padding: 4px var(--gutter) 12px; scrollbar-width: none; }
  .ac-team::-webkit-scrollbar { display: none; }
  .ac-mem { flex: 0 0 80%; scroll-snap-align: center; }
}

/* ---------- dúvidas em cartões que viram ---------- */
.ac-flips { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.ac-flip { perspective: 1200px; min-height: 280px; }
.ac-flip__inner { position: relative; height: 100%; min-height: 280px; transform-style: preserve-3d; transition: transform .7s var(--ease); }
.ac-flip.is-flipped .ac-flip__inner { transform: rotateY(180deg); }
.ac-flip__face { position: absolute; inset: 0; display: flex; flex-direction: column; gap: 12px; padding: 26px; border-radius: var(--r); -webkit-backface-visibility: hidden; backface-visibility: hidden; text-align: left; }
.ac-flip__front { width: 100%; border: 0; background: var(--mint); color: var(--teal-d); font: inherit; cursor: pointer; transition: box-shadow .3s; }
.ac-flip__front:hover { box-shadow: var(--sh); }
.ac-flip:nth-child(3n+2) .ac-flip__front { background: var(--sand); }
.ac-flip:nth-child(3n) .ac-flip__front { background: #fff; box-shadow: inset 0 0 0 1px var(--c-line); }
.ac-flip__back { background: var(--teal); color: #fff; transform: rotateY(180deg); pointer-events: none; }
.ac-flip.is-flipped .ac-flip__back { pointer-events: auto; }
.ac-flip.is-flipped .ac-flip__front { pointer-events: none; }
.ac-flip__tag { font-size: .74rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; opacity: .72; }
.ac-flip__q { font: 600 1.3rem/1.3 var(--f-display); }
.ac-flip__hint { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; color: var(--teal); font-weight: 700; font-size: .9rem; }
.ac-flip__hint .ic { width: 16px; height: 16px; }
.ac-flip__a { font-size: .96rem; line-height: 1.55; color: rgba(255, 255, 255, .92); }
.ac-flip__btn { display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; margin-top: auto; padding: 0; border: 0; background: none; color: var(--mint); font-weight: 700; font-size: .9rem; cursor: pointer; }
.ac-flip__btn .ic { width: 16px; height: 16px; }
.ac-flip__front:focus-visible, .ac-flip__btn:focus-visible { outline: 3px solid var(--clay); outline-offset: 3px; }
@media (max-width: 960px) { .ac-flips { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .ac-flips { grid-template-columns: 1fr; } .ac-flip, .ac-flip__inner { min-height: 240px; } }

/* ---------- lista de procedimentos (cartões grandes) ---------- */
.ac-ph { padding: clamp(40px, 6vw, 76px) 0 clamp(26px, 4vw, 44px); background: radial-gradient(900px 420px at 50% -10%, var(--mint), rgba(215, 238, 228, 0) 70%); }
.ac-ph__in { display: flex; flex-direction: column; align-items: center; gap: 16px; text-align: center; }
.ac-ph .crumbs { justify-content: center; margin: 0; }
.ac-ph__t { font: 600 clamp(2.3rem, 4.8vw, 3.8rem)/1.08 var(--f-display); letter-spacing: -.02em; color: var(--teal-d); }
.ac-ph__p { max-width: 700px; color: var(--c-muted); font-size: 1.08rem; }
.ac-ph__nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 8px; }
.ac-ph__nav a { display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; border-radius: 999px; background: #fff; border: 1px solid var(--c-line); color: var(--teal-d); font-weight: 700; font-size: .92rem; text-decoration: none; }
.ac-ph__nav a:hover { border-color: var(--teal); }
.ac-ph__nav small { color: var(--c-muted); font-weight: 600; }
.ac-ph + .sec { padding-top: clamp(36px, 5vw, 64px); }
.ac-group { scroll-margin-top: calc(var(--hd-h) + 20px); }
.ac-group + .ac-group { margin-top: clamp(48px, 6vw, 80px); }
.ac-group__h { display: flex; align-items: flex-start; gap: 18px; margin-bottom: 24px; padding-bottom: 18px; border-bottom: 1px solid var(--c-line); }
.ac-group__n { font: italic 600 2.2rem/1 var(--f-display); color: var(--clay); }
.ac-group__t { font: 600 clamp(1.6rem, 2.8vw, 2.2rem)/1.15 var(--f-display); color: var(--teal-d); }
.ac-group__p { max-width: 760px; margin-top: 6px; color: var(--c-muted); }
.ac-bigs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.ac-big { display: flex; flex-direction: column; border-radius: var(--r); border: 1px solid var(--c-line); background: #fff; overflow: hidden; transition: box-shadow .35s var(--ease); }
.ac-big:hover { box-shadow: var(--sh); }
.ac-big__img { position: relative; display: block; aspect-ratio: 16 / 7; overflow: hidden; background: var(--sand); }
.ac-big__photo, .ac-big__img .ph { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; aspect-ratio: auto; transition: transform .8s var(--ease); }
.ac-big:hover .ac-big__photo { transform: scale(1.03); }
.ac-big__body { display: flex; flex: 1; flex-direction: column; gap: 12px; padding: 24px 26px 26px; }
.ac-big__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.ac-big__t { font: 600 1.5rem/1.2 var(--f-display); }
.ac-big__t a { color: var(--teal-d); text-decoration: none; }
.ac-big__t a:hover { text-decoration: underline; text-underline-offset: 4px; }
.ac-big__p { color: var(--c-muted); }
.ac-big__info { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.ac-info { padding: 16px; border-radius: 16px; border: 1px solid var(--c-line); background: var(--c-bg); }
.ac-info__t { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; font: 800 .74rem/1.3 var(--f-body); letter-spacing: .08em; text-transform: uppercase; color: var(--teal); }
.ac-info__t .ic { width: 16px; height: 16px; }
.ac-info ul { display: grid; gap: 5px; padding-left: 1.1em; font-size: .9rem; color: var(--c-ink); }
.ac-big__foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-top: auto; padding-top: 8px; }
@media (max-width: 900px) { .ac-bigs { grid-template-columns: 1fr; } }
@media (max-width: 520px) { .ac-big__info { grid-template-columns: 1fr; } .ac-big__body { padding: 20px; } .ac-group__n { font-size: 1.7rem; } }

/* ---------- seções e páginas base com a cara do tema ---------- */
.ph-hero { text-align: center; background: radial-gradient(900px 420px at 50% -10%, var(--mint), rgba(215, 238, 228, 0) 70%); }
.ph-hero .crumbs { justify-content: center; }
.ph-hero__t { color: var(--teal-d); }
.ph-hero__p { margin-inline: auto; }
.split__img { border-radius: 220px 220px var(--r) var(--r); }
.pro-hero__img { border-radius: 260px 260px var(--r) var(--r); }
.sec--sobre .prose { color: var(--c-muted); }
.reg { color: var(--teal-d); }
.chips li { background: var(--mint); color: var(--teal-d); font-weight: 600; }
.card { border-radius: var(--r); }
.card__cat, .loc__type { color: var(--clay); }
.sec--depo { background: var(--sand); }
.depo__i { border: 0; border-radius: var(--r); box-shadow: 0 20px 40px -34px rgba(10, 68, 70, .6); }
.depo__q { font-style: italic; color: var(--teal-d); }
.depo__stars { color: var(--clay); }
.icon-btn { background: #fff; }
.ins__i { border-radius: 999px; background: #fff; }
.ins__i .ic { color: var(--teal); }
.ins__i--part { background: var(--mint); }
.loc { border-radius: var(--r); }
.loc__addr .ic, .loc__hrs .ic, .loc__tel .ic { color: var(--teal); }
.pack { border-radius: var(--r); }
.pack--hl { border-color: var(--teal); }
.pack__tag { background: var(--teal); }
.faq__i summary { color: var(--teal-d); }
.faq__ic { background: #fff; }
.steps .step { border-radius: var(--r); background: #fff; box-shadow: inset 0 0 0 1px var(--c-line); }
.bk__n { background: var(--teal); }
.opt input:checked + .opt__box { border-color: var(--teal); }
.side-card { border-radius: var(--r); }
.guide-link__tag { color: var(--clay); }
.disclaimer { border-radius: var(--r-sm); }
.svc-hero { background: radial-gradient(900px 420px at 30% -10%, var(--mint), rgba(215, 238, 228, 0) 70%), var(--c-bg); }
.svc-hero__img { border-radius: 220px 220px var(--r) var(--r); }
.facts-band { background: #fff; }
.fact .ic { color: var(--teal); }
.timeline li::before { background: var(--teal); }
.cv__t .ic { color: var(--teal); }

/* ---------- rodapé com o painel "seu primeiro passo" ---------- */
.ac-ft { margin-top: clamp(70px, 8vw, 110px); padding: 0 0 28px; border-radius: 48px 48px 0 0; background: var(--teal-d); color: var(--sand); }
.ac-ft__cta { position: relative; top: -52px; margin-bottom: -20px; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 24px 40px; padding: clamp(28px, 4vw, 48px); border-radius: var(--r-lg); background: var(--teal); box-shadow: 0 46px 80px -50px rgba(0, 0, 0, .65); }
.ac-ft__cta > div:first-child { max-width: 640px; }
.ac-ft__t { margin-top: 14px; font: 600 clamp(1.8rem, 3.4vw, 2.7rem)/1.15 var(--f-display); color: #fff; }
.ac-ft__p { margin-top: 10px; color: rgba(255, 255, 255, .82); }
.ac-ft__btns { display: flex; flex-wrap: wrap; gap: 12px; }
.ac-ft__grid { display: grid; grid-template-columns: 1.4fr 1fr 1.1fr 1.3fr; gap: 36px; }
.ac-brand--ft .ac-brand__name { color: #fff; }
.ac-brand--ft .ac-brand__sub { color: var(--mint); }
.ac-brand--ft .ac-brand__mark { background: var(--teal-2); color: var(--mint); border-color: var(--teal-2); box-shadow: none; }
.ac-ft__slogan { max-width: 320px; margin-top: 16px; color: rgba(244, 234, 220, .76); }
.ac-ft__social { list-style: none; display: flex; gap: 8px; margin-top: 18px; }
.ac-ft__social a { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; border: 1px solid rgba(244, 234, 220, .25); color: var(--sand); }
.ac-ft__social a:hover { background: rgba(244, 234, 220, .1); }
.ac-ft__h { margin-bottom: 14px; font: 800 .76rem/1.4 var(--f-body); letter-spacing: .12em; text-transform: uppercase; color: var(--mint); }
.ac-ft__links { list-style: none; display: grid; gap: 9px; font-size: .95rem; }
.ac-ft__links a, .ac-ft__links span { display: inline-flex; align-items: center; gap: 8px; color: var(--sand); text-decoration: none; }
.ac-ft__links a:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.ac-ft__links .ic { width: 17px; height: 17px; color: var(--mint); }
.ac-ft__locs { list-style: none; display: grid; gap: 12px; font-size: .92rem; }
.ac-ft__locs li { display: grid; gap: 2px; }
.ac-ft__locs strong { color: #fff; font-weight: 700; }
.ac-ft__locs span { color: rgba(244, 234, 220, .74); }
.ac-ft__legal { display: grid; gap: 6px; margin-top: 40px; padding-top: 22px; border-top: 1px solid rgba(244, 234, 220, .14); font-size: .8rem; color: rgba(244, 234, 220, .72); }
.ac-ft__legal a { color: inherit; }
.ac-ft__note { max-width: 860px; }
@media (max-width: 1000px) { .ac-ft__grid { grid-template-columns: 1fr 1fr; } .ac-ft__brand { grid-column: 1 / -1; } }
@media (max-width: 560px) { .ac-ft__grid { grid-template-columns: 1fr; } .ac-ft { border-radius: 32px 32px 0 0; } .ac-ft__cta { top: -40px; } }
@media (max-width: 999px) { .pg-servico .ac-ft { padding-bottom: 104px; } }

/* ---------- movimento reduzido ---------- */
@media (prefers-reduced-motion: reduce) {
  .ac-flip__inner { transform: none !important; transition: none; }
  .ac-flip__back { transform: none; opacity: 0; visibility: hidden; }
  .ac-flip.is-flipped .ac-flip__back { opacity: 1; visibility: visible; }
  .ac-flip.is-flipped .ac-flip__front { visibility: hidden; }
  .ac-gauge__dot { transition: none; }
}
