/* Identidade visual do Instituto Adriana Felix + Bootstrap 5 */
:root{--brand:#004233;--brand-light:#075b48;--brand-pale:#cbead4;--accent:#735c00;--text:#1b1c1c;--muted:#3f4945;--surface:#fbf9f8;--surface-soft:#f6f3f2;--surface-mid:#f0eded;--font-body:"Plus Jakarta Sans",sans-serif;--font-display:"Playfair Display",serif;}
html{scroll-behavior:smooth;scroll-padding-top:95px}body{font-family:var(--font-body);color:var(--text);background:var(--surface);font-size:15px;line-height:1.6}section{scroll-margin-top:86px}a{text-decoration:none}a:hover{text-decoration:none} .site-header{background:rgba(251,249,248,.96);box-shadow:0 1px 10px rgba(0,0,0,.06);backdrop-filter:blur(16px)}.site-header .navbar{min-height:80px}.site-header .nav-link{font-size:13px;font-weight:600;color:var(--muted)}.site-header .nav-link:hover,.site-header .nav-link:focus{color:var(--brand)}.site-logo{height:35px;width:auto;object-fit:contain}.brand-name{font:500 22px var(--font-display);color:var(--brand)}.btn-brand{background:var(--brand-light)!important;color:#fff!important;border:1px solid transparent;font-size:13px;font-weight:650}.btn-brand:hover{background:var(--brand)!important;color:#fff!important}.btn-accent{background:#a9f1d8!important;color:#002118!important;border:none}.btn-accent:hover{background:#fff!important}main{padding-top:80px}.section-padding{padding-top:3.5rem!important;padding-bottom:3.5rem!important}.accordion.custom-accordion .accordion-item{background:var(--surface-soft);border:0;border-radius:12px;margin-bottom:12px;overflow:hidden}.custom-accordion .accordion-button{background:var(--surface-soft);font-family:var(--font-body);font-size:18px;font-weight:600;color:var(--text);padding:20px}.custom-accordion .accordion-button:not(.collapsed){background:#e8f1eb;color:var(--brand);box-shadow:none}.custom-accordion .accordion-button:focus{box-shadow:0 0 0 .2rem rgba(0,66,51,.13)}.custom-accordion .accordion-body{color:var(--muted);font-size:15px;line-height:1.7;padding:0 20px 20px}.row.g-3>[class*="col"]{min-width:0}.material-symbols-outlined{font-weight:400;font-size:24px;vertical-align:middle}.hero-photo{aspect-ratio:4/5}.footer-link:hover{color:var(--brand)}.contact-float{z-index:1050}.selection\:bg-secondary-container::selection{background:#cbead4;color:#4f6b59}
@media(max-width:991.98px){.site-header .navbar-collapse{padding:16px 0}.site-header .navbar-nav{gap:0!important}.site-header .btn-brand{margin-top:10px} .section-padding{padding-top:3rem!important;padding-bottom:3rem!important}}
@media(max-width:575.98px){.brand-name{font-size:17px}.site-header .navbar{min-height:72px}main{padding-top:72px}.section-padding{padding-top:2.5rem!important;padding-bottom:2.5rem!important}.font-display.text-headline-lg{font-size:32px!important;line-height:1.25!important}}
.-bottom-4{bottom:-16px!important}
.-left-4{left:-16px!important}
.animate-pulse{animation:softpulse 2s ease-in-out infinite!important}
.aspect-\[4\/5\]{aspect-ratio:4/5!important}
.aspect-square{aspect-ratio:1/1!important}
.backdrop-blur-md{backdrop-filter:blur(12px)!important}
.bg-background{background-color:#fbf9f8!important}
.bg-gradient-to-t{background-image:linear-gradient(to top,rgba(0,66,51,.8),transparent 75%)!important}
.bg-primary{background-color:#004233!important}
.bg-primary-container{background-color:#075b48!important}
.bg-primary-fixed{background-color:#a9f1d8!important}
.bg-secondary-container{background-color:#cbead4!important}
.bg-surface{background-color:#fbf9f8!important}
.bg-surface-container{background-color:#f0eded!important}
.bg-surface-container-low{background-color:#f6f3f2!important}
.bg-surface-container-lowest{background-color:#ffffff!important}
.bg-surface\/95{background:rgba(251,249,248,.95)!important}
.border-primary-container{border-color:#075b48!important}
.bottom-6{bottom:24px!important}
.font-body-lg{font-family:var(--font-body)!important}
.font-body-md{font-family:var(--font-body)!important}
.font-body-sm{font-family:var(--font-body)!important}
.font-display{font-family:var(--font-display)!important}
.font-headline-sm{font-family:var(--font-display)!important}
.font-label-md{font-family:var(--font-body)!important}
.font-label-sm{font-family:var(--font-body)!important}
.font-title-md{font-family:var(--font-body)!important}
.gap-space-md{gap:1.25rem!important}
.gap-space-sm{gap:.75rem!important}
.gap-space-xs{gap:.375rem!important}
.h-10{height:40px!important}
.h-12{height:48px!important}
.h-14{height:56px!important}
.h-2{height:8px!important}
.h-7{height:28px!important}
.h-8{height:32px!important}
.h-\[52px\]{height:52px!important}
.hover\:bg-primary:hover{background-color:#004233!important}
.hover\:bg-secondary-container:hover{background-color:#cbead4!important}
.hover\:bg-surface-container:hover{background-color:#f0eded!important}
.hover\:bg-surface-container-lowest:hover{background-color:#ffffff!important}
.hover\:text-on-secondary-container:hover{color:#4f6b59!important}
.hover\:text-primary:hover{color:#004233!important}
.hover\:text-primary-container:hover{color:#075b48!important}
.inset-0{inset:0!important}
.leading-relaxed{line-height:1.7!important}
.leading-tight{line-height:1.18!important}
@media(min-width:992px){.lg\:p-space-xl{padding:3.5rem!important}
}
@media(min-width:992px){.lg\:py-space-xl{padding-block:3.5rem!important}
}
@media(min-width:992px){.lg\:text-display{font-size:56px;line-height:68px;font-weight:600!important}
}
@media(min-width:992px){.lg\:text-headline-lg{font-size:40px;line-height:50px;font-weight:500!important}
}
.max-w-2xl{max-width:672px!important}
.max-w-3xl{max-width:768px!important}
.max-w-4xl{max-width:896px!important}
.max-w-lg{max-width:512px!important}
.max-w-md{max-width:448px!important}
.max-w-xl{max-width:576px!important}
.mb-space-lg{margin-bottom:2rem!important}
.mb-space-md{margin-bottom:1.25rem!important}
.mb-space-sm{margin-bottom:.75rem!important}
.mb-space-xl{margin-bottom:3.5rem!important}
.mb-space-xs{margin-bottom:.375rem!important}
.mt-space-lg{margin-top:2rem!important}
.mt-space-md{margin-top:1.25rem!important}
.mt-space-xs{margin-top:.375rem!important}
.object-cover{object-fit:cover!important}
.object-top{object-position:top!important}
.opacity-95{opacity:.95!important}
.p-space-lg{padding:2rem!important}
.p-space-md{padding:1.25rem!important}
.pb-space-xl{padding-bottom:3.5rem!important}
.pt-20-custom{padding-top:80px!important}
.pt-space-lg{padding-top:2rem!important}
.pt-space-md{padding-top:1.25rem!important}
.pt-space-xs{padding-top:.375rem!important}
.px-3\.5{padding-inline:14px!important}
.px-space-lg{padding-inline:2rem!important}
.px-space-md{padding-inline:1.25rem!important}
.py-1\.5{padding-block:6px!important}
.py-2\.5{padding-block:10px!important}
.py-3\.5{padding-block:14px!important}
.py-space-lg{padding-block:2rem!important}
.py-space-sm{padding-block:.75rem!important}
.right-6{right:24px!important}
.rounded-3{border-radius:.75rem!important}
.rounded-4{border-radius:1rem!important}
.shadow-\[0_12px_32px_-4px_rgba\(7\,91\,72\,0\.28\)\]{box-shadow:0 12px 32px rgba(7,91,72,.28)!important}
.shadow-xl{box-shadow:0 18px 35px rgba(0,0,0,.18)!important}
.space-y-space-xs{display:flex;flex-direction:column;gap:6px;list-style:none;padding-left:0!important}
.text-\[16px\]{font-size:16px!important}
.text-\[18px\]{font-size:18px!important}
.text-\[19px\]{font-size:19px!important}
.text-\[20px\]{font-size:20px!important}
.text-\[22px\]{font-size:22px!important}
.text-\[24px\]{font-size:24px!important}
.text-\[28px\]{font-size:28px!important}
.text-\[32px\]{font-size:32px!important}
.text-body-lg{font-size:18px;line-height:28px;font-weight:400!important}
.text-body-md{font-size:15px;line-height:24px;font-weight:400!important}
.text-body-sm{font-size:13px;line-height:20px;font-weight:400!important}
.text-headline-lg{font-size:40px;line-height:50px;font-weight:500!important}
.text-headline-md{font-size:28px;line-height:36px;font-weight:500!important}
.text-headline-sm{font-size:22px;line-height:30px;font-weight:500!important}
.text-label-md{font-size:13px;line-height:18px;font-weight:600!important}
.text-label-sm{font-size:11px;line-height:16px;font-weight:600!important}
.text-on-primary{color:#ffffff!important}
.text-on-primary-fixed{color:#002118!important}
.text-on-secondary-container{color:#4f6b59!important}
.text-on-surface{color:#1b1c1c!important}
.text-on-surface-variant{color:#3f4945!important}
.text-primary{color:#004233!important}
.text-primary-fixed{color:#a9f1d8!important}
.text-primary-fixed-dim{color:#8dd5bc!important}
.text-secondary{color:#496453!important}
.text-tertiary{color:#735c00!important}
.text-title-md{font-size:18px;line-height:26px;font-weight:600!important}
.tracking-tight{letter-spacing:-.02em!important}
.tracking-wider{letter-spacing:.06em!important}
.tracking-widest{letter-spacing:.1em!important}
.transition-all{transition:all .25s ease!important}
.transition-colors{transition:color .25s,background-color .25s!important}
.transition-transform{transition:transform .3s!important}
.translate-y-6{transform:translateY(24px)!important}
.w-10{width:40px!important}
.w-12{width:48px!important}
.w-14{width:56px!important}
.w-2{width:8px!important}
.w-7{width:28px!important}
.w-8{width:32px!important}
.w-\[52px\]{width:52px!important}
.z-10{z-index:10!important}
.z-50{z-index:50!important}
@keyframes softpulse{0%,100%{opacity:1}50%{opacity:.5}} .hover\:scale-105:hover{transform:scale(1.05)!important}.hover\:shadow-md:hover{box-shadow:0 7px 18px rgba(0,0,0,.12)!important}.hover\:shadow-lg:hover{box-shadow:0 12px 25px rgba(0,0,0,.16)!important}.duration-700{transition-duration:.7s}.duration-500{transition-duration:.5s}.duration-300{transition-duration:.3s}.lg\:max-w-none{} @media(min-width:992px){.lg\:max-w-none{max-width:none!important}}
img{max-width:100%}.row{--bs-gutter-y:1rem}a:focus-visible,button:focus-visible{outline:3px solid #8dd5bc;outline-offset:2px}footer ul{list-style:none;padding:0}footer .material-symbols-outlined{flex-shrink:0}aside a{display:flex!important;align-items:center;justify-content:center}.text-primary{color:var(--brand)!important} .site-header .navbar-toggler{border-color:#bfc9c3}.site-header .navbar-toggler:focus{box-shadow:0 0 0 .2rem rgba(0,66,51,.15)}


/* Vitrine dos Tratamentos — cartões Bootstrap com fotos e margens equilibradas */
#tratamentos{padding:88px 0 104px;scroll-margin-top:86px;background:#f6f3f2}
#tratamentos .container-tratamentos{max-width:1240px;padding-left:clamp(20px,4vw,52px);padding-right:clamp(20px,4vw,52px)}
#tratamentos .tratamentos-intro{max-width:760px;margin-bottom:48px}
#tratamentos .tratamentos-intro h2{margin:12px auto 16px;max-width:740px}
#tratamentos .tratamentos-intro p{margin:0 auto;max-width:610px}
#tratamentos .tratamentos-grid{--bs-gutter-x:28px;--bs-gutter-y:32px}
.tratamento-card{border-radius:18px!important;background:#fff;box-shadow:0 8px 30px rgba(0,48,36,.075);transition:transform .3s ease,box-shadow .3s ease!important}
.tratamento-card:hover{transform:translateY(-6px);box-shadow:0 18px 38px rgba(0,48,36,.13)}
.tratamento-foto{height:220px;position:relative;overflow:hidden;background:linear-gradient(120deg,#e2eee8,#c2dbd0)}
.tratamento-foto img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.tratamento-card:hover .tratamento-foto img{transform:scale(1.045)}
.tratamento-foto:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,40,29,.2));pointer-events:none}
.tratamento-num{position:absolute;top:16px;right:16px;z-index:1;background:rgba(255,255,255,.94);color:#004233;border-radius:99px;padding:6px 11px;font-size:11px;font-weight:700;letter-spacing:.06em}
.tratamento-card-body{padding:27px 27px 28px!important;gap:0;min-height:280px}
.tratamento-icone{width:46px;height:46px;display:flex;align-items:center;justify-content:center;background:#e2f0e9;color:#004233;border-radius:12px;margin-bottom:15px}
.tratamento-icone .material-symbols-outlined{font-size:25px}
.tratamento-titulo{font-family:'Plus Jakarta Sans',sans-serif;font-size:19px;line-height:1.35;font-weight:700;color:#004233;margin:0 0 13px}
.tratamento-descricao{font-size:14px;line-height:1.72;color:#4b5751;margin:0 0 22px}
.tratamento-link{color:#005b46;text-decoration:none;border-top:1px solid #e6ece8;padding-top:17px;font-size:13px;font-weight:700;transition:color .2s}
.tratamento-link:hover{color:#137e61}
.tratamento-link .material-symbols-outlined{font-size:19px;transition:transform .2s}
.tratamento-link:hover .material-symbols-outlined{transform:translateX(4px)}
@media(max-width:991.98px){#tratamentos{padding:70px 0 80px}#tratamentos .tratamentos-grid{--bs-gutter-x:22px;--bs-gutter-y:26px}}
@media(max-width:575.98px){#tratamentos{padding:60px 0 72px}#tratamentos .container-tratamentos{padding-inline:20px}#tratamentos .tratamentos-intro{margin-bottom:33px}#tratamentos .tratamentos-grid{--bs-gutter-y:24px}.tratamento-foto{height:205px}.tratamento-card-body{padding:23px!important;min-height:auto}.tratamento-titulo{font-size:18px}}
@media(prefers-reduced-motion:reduce){.tratamento-card,.tratamento-foto img{transition:none!important}}


/* V4 – cartões, margens e grade fluida Bootstrap */
#tratamentos .container-tratamentos{width:100%;max-width:none!important;padding-left:clamp(16px,2.3vw,42px)!important;padding-right:clamp(16px,2.3vw,42px)!important}
#tratamentos .tratamentos-grid{--bs-gutter-x:22px;--bs-gutter-y:26px;margin-inline:0}
#tratamentos .tratamentos-grid > [class*="col-"]{min-width:0}
#tratamentos .tratamento-foto{height:clamp(135px,12vw,195px)}
#tratamentos .tratamento-card-body{min-height:0;padding:18px 17px 20px!important}
#tratamentos .tratamento-icone{width:37px;height:37px;margin-bottom:11px;border-radius:10px}
#tratamentos .tratamento-icone .material-symbols-outlined{font-size:21px}
#tratamentos .tratamento-titulo{font-size:16px;line-height:1.35;margin-bottom:9px}
#tratamentos .tratamento-descricao{font-size:12.5px;line-height:1.58;margin-bottom:15px}
#tratamentos .tratamento-link{font-size:12px;padding-top:12px}
#tratamentos .tratamento-num{top:10px;right:10px;padding:5px 9px;font-size:10px}
.pilares-grid{--bs-gutter-x:24px;--bs-gutter-y:24px;margin-top:14px}
.pilares-grid > .col{min-width:0}
.pilar-card{background:#f6f3f2;padding:26px 20px;color:#1b1c1c!important;text-decoration:none;transition:transform .25s,background-color .25s,box-shadow .25s}
.pilar-card:hover,.pilar-card:focus-visible{background:#eaf2ec;transform:translateY(-4px);box-shadow:0 13px 26px rgba(0,66,51,.12)!important}
.pilar-card h4{font-size:16px!important;line-height:1.45!important;margin:12px 0!important}
.pilar-card p{margin-bottom:0}
.cards-spaced{--bs-gutter-x:26px;--bs-gutter-y:26px}
.cards-spaced>.col{min-width:0}
.spaced-card{padding:25px!important;border-radius:16px!important}
#faq-accordion .accordion-item{border-radius:13px;overflow:hidden;margin-bottom:12px;border:1px solid #e4eae5}
#faq-accordion .accordion-button{padding:20px 22px;font-size:16px;font-weight:600}
#faq-accordion .accordion-body{padding:4px 22px 23px;line-height:1.75}
@media(min-width:1400px){#tratamentos .tratamentos-grid{--bs-gutter-x:18px;--bs-gutter-y:24px}}
@media(max-width:575.98px){#tratamentos .tratamentos-grid{--bs-gutter-x:0;--bs-gutter-y:22px}#tratamentos .tratamento-foto{height:205px}#tratamentos .tratamento-card-body{padding:22px!important}#tratamentos .tratamento-titulo{font-size:18px}#tratamentos .tratamento-descricao{font-size:14px}.pilares-grid{--bs-gutter-y:18px}}


/* Identidade visual: somente a imagem oficial da marca, sem texto HTML ao lado.
   A largura segue a proporção natural do PNG (sem esticar ou cortar). */
.site-header .navbar-brand { flex: 0 1 auto; min-width: 0; }
.site-header .site-logo { display: block; width: auto; height: auto; max-height: 66px; max-width: min(320px, 36vw); object-fit: contain; object-position: left center; }
.footer-site-logo { display: block; width: auto; height: auto; max-height: 88px; max-width: 100%; object-fit: contain; object-position: left center; }
@media (max-width: 1199.98px) {
  .site-header .site-logo { max-height: 58px; max-width: min(260px, 33vw); }
}
@media (max-width: 991.98px) {
  .site-header .site-logo { max-height: 58px; max-width: min(270px, 67vw); }
}
@media (max-width: 575.98px) {
  .site-header .site-logo { max-height: 52px; max-width: min(245px, 67vw); }
}


/* Logomarca ampliada: usa ao máximo a altura útil do cabeçalho, sem distorcer. */
.site-header .navbar { min-height: 94px; padding-top: 5px; padding-bottom: 5px; }
.site-header .navbar-brand { display: flex!important; align-items: center; flex: 0 1 auto; min-width: 0; margin-right: 14px!important; }
.site-header .site-logo { display: block; height: 82px; width: auto; max-height: 82px; max-width: 400px; object-fit: contain; object-position: left center; }
main { padding-top: 94px; }
html { scroll-padding-top: 105px; }
section { scroll-margin-top: 105px; }
@media (min-width: 1200px) and (max-width: 1399.98px) {
  .site-header .site-logo { height: 78px; max-height: 78px; max-width: 325px; }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
  .site-header .site-logo { height: 75px; max-height: 75px; max-width: 255px; }
  .site-header .navbar { min-height: 90px; }
  main { padding-top: 90px; }
}
@media (max-width: 991.98px) {
  .site-header .navbar { min-height: 88px; padding-top: 5px; padding-bottom: 5px; }
  .site-header .site-logo { height: 76px; max-height: 76px; max-width: min(410px, 75vw); }
  main { padding-top: 88px; }
}
@media (max-width: 575.98px) {
  .site-header .navbar { min-height: 82px; padding-top: 4px; padding-bottom: 4px; }
  .site-header .site-logo { height: 72px; max-height: 72px; max-width: min(350px, 73vw); }
  main { padding-top: 82px; }
}
