
:root {
  --verde:       #00843D;
  --verde-esc:   #00622D;
  --verde-clr:   #00A651;
  --verde-bg:    #E8F5EE;
  --borda:       #D1E8DB;
  --cinza:       #F4F7F4;
  --texto:       #1A202C;
  --subtexto:    #4A5568;
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: 'Inter', sans-serif; color: var(--texto); background: #fff; font-size: 16px; line-height: 1.65; }

.container { max-width: 1180px; margin: 0 auto; padding: 0 20px; }

.topbar { background: var(--verde-esc); color: #fff; font-size: 13px; padding: 7px 0; }
.topbar .container { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.topbar a { color: #fff; text-decoration: none; }
.topbar .tag { background: var(--verde-clr); padding: 2px 10px; border-radius: 20px; font-size: 12px; font-weight: 700; }

header { background: #fff; box-shadow: 0 2px 12px rgba(0,0,0,.08); position: sticky; top: 0; z-index: 999; }
.header-inner { display: flex; align-items: center; justify-content: space-between; padding: 14px 0; gap: 20px; }
.logo-marca { font-family: 'Sora', sans-serif; font-size: 18px; font-weight: 800; color: var(--verde); line-height: 1.1; }
.logo-sub   { font-size: 11px; color: var(--subtexto); }

nav ul { list-style: none; display: flex; gap: 4px; }
nav ul li a { text-decoration: none; color: var(--texto); font-size: 14px; font-weight: 500; padding: 8px 11px; border-radius: 6px; transition: all .2s; display: block; }
nav ul li a:hover, nav ul li.active a { color: var(--verde); background: var(--verde-bg); }
nav ul li.dropdown { position: relative; }
nav ul li.dropdown:hover > ul { display: block; }
nav ul li.dropdown > ul { display: none; position: absolute; top: 100%; left: 0; background: #fff; border-radius: 10px; box-shadow: 0 8px 30px rgba(0,0,0,.12); min-width: 230px; padding: 8px 0; z-index: 100; }
nav ul li.dropdown > ul li a { padding: 10px 18px; border-radius: 0; font-size: 13.5px; }
.btn-orcamento { background: var(--verde); color: #fff !important; padding: 10px 20px !important; border-radius: 8px !important; font-weight: 700 !important; white-space: nowrap; }
.btn-orcamento:hover { background: var(--verde-esc) !important; }
.hamburger { display: none; background: none; border: 2px solid var(--verde); padding: 6px 10px; border-radius: 6px; cursor: pointer; font-size: 20px; color: var(--verde); }

.page-hero { background: linear-gradient(135deg, var(--verde-esc), var(--verde)); color: #fff; padding: 56px 0 48px; }
.page-hero .breadcrumb { font-size: 13px; opacity: .7; margin-bottom: 12px; }
.page-hero .breadcrumb a { color: #fff; text-decoration: none; }
.page-hero h1 { font-family: 'Sora', sans-serif; font-size: 36px; font-weight: 800; line-height: 1.2; margin-bottom: 12px; }
.page-hero p { font-size: 16px; opacity: .9; max-width: 620px; }

section { padding: 64px 0; }
.sec-label { font-size: 12px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: var(--verde); margin-bottom: 8px; }
.sec-title { font-family: 'Sora', sans-serif; font-size: 32px; font-weight: 800; line-height: 1.25; margin-bottom: 14px; }
.sec-sub { font-size: 15px; color: var(--subtexto); max-width: 580px; }
.divider { width: 48px; height: 4px; background: var(--verde); border-radius: 4px; margin: 12px 0 22px; }

.page-body { background: #fff; }
.page-body .container { display: grid; grid-template-columns: 1fr 320px; gap: 40px; align-items: start; }
.main-col h2 { font-family: 'Sora', sans-serif; font-size: 24px; font-weight: 800; color: var(--verde); margin: 32px 0 6px; }
.main-col h2:first-child { margin-top: 0; }
.main-col .divider { margin: 6px 0 16px; }
.main-col p { font-size: 15px; color: var(--subtexto); line-height: 1.7; margin-bottom: 12px; }
.main-col a.btn { display: inline-block; background: var(--verde); color: #fff; padding: 11px 24px; border-radius: 8px; text-decoration: none; font-weight: 700; font-size: 14px; transition: background .2s; margin-top: 6px; }
.main-col a.btn:hover { background: var(--verde-esc); }

.sidebar { position: sticky; top: 90px; display: flex; flex-direction: column; gap: 20px; }
.sidebar-card { background: #fff; border-radius: 14px; border: 1px solid var(--borda); padding: 22px 20px; }
.sidebar-card h3 { font-size: 15px; font-weight: 700; color: var(--verde-esc); margin-bottom: 14px; }

.czero-card { background: linear-gradient(135deg, var(--verde-esc), var(--verde)); color: #fff; border-radius: 14px; padding: 22px 20px; }
.czero-card h3 { font-size: 24px; font-weight: 800; color: #fff; margin-bottom: 8px; }
.czero-card p { font-size: 13px; opacity: .9; line-height: 1.5; margin-bottom: 14px; }
.czero-ops { display: flex; flex-wrap: wrap; gap: 5px; }
.czero-op { background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.28); padding: 3px 10px; border-radius: 14px; font-size: 11px; font-weight: 600; }
.czero-note { font-size: 11px; opacity: .65; margin-top: 10px; }

.emp-card { background: var(--verde-bg); border: 1px solid var(--borda); border-radius: 14px; padding: 20px; text-align: center; }
.emp-card p { font-size: 13px; color: var(--subtexto); margin-bottom: 12px; }
.emp-card a { display: block; background: var(--verde); color: #fff; padding: 11px; border-radius: 8px; text-decoration: none; font-weight: 700; font-size: 13.5px; transition: background .2s; }
.emp-card a:hover { background: var(--verde-esc); }



.orcamento-section { background: linear-gradient(135deg, var(--verde-esc), var(--verde)); color: #fff; }
.orcamento-section .container { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: start; }
.orc-left h2 { font-family: 'Sora', sans-serif; font-size: 32px; font-weight: 800; margin-bottom: 14px; }
.orc-left p { font-size: 15px; opacity: .9; line-height: 1.7; margin-bottom: 22px; }
.orc-item { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.14); font-size: 14px; }
.orc-item:last-child { border: none; }
.orc-item i { color: #A7F3D0; font-size: 15px; }
.wpp-btn-orc { display: inline-flex; align-items: center; gap: 9px; background: #25D366; color: #fff; padding: 13px 22px; border-radius: 10px; text-decoration: none; font-weight: 700; font-size: 15px; margin-top: 22px; transition: background .2s; }
.wpp-btn-orc:hover { background: #1ebe5c; }
.orc-form-box { background: #fff; border-radius: 16px; overflow: hidden; }

.dif-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; margin-top: 36px; }
.dif-card { background: #fff; border-radius: 14px; padding: 24px 20px; border: 1px solid var(--borda); transition: box-shadow .2s; }
.dif-card:hover { box-shadow: 0 6px 24px rgba(0,132,61,.1); }
.dif-icon { width: 48px; height: 48px; background: var(--verde-bg); border-radius: 12px; display: flex; align-items: center; justify-content: center; margin-bottom: 14px; }
.dif-icon i { color: var(--verde); font-size: 20px; }
.dif-card h4 { font-size: 15px; font-weight: 700; margin-bottom: 7px; }
.dif-card p { font-size: 13.5px; color: var(--subtexto); line-height: 1.6; }

.table-wrap { overflow-x: auto; border-radius: 14px; border: 1px solid var(--borda); margin-top: 22px; }
table { width: 100%; border-collapse: collapse; font-size: 14px; }
th { background: var(--verde); color: #fff; padding: 13px 14px; text-align: center; font-weight: 600; white-space: nowrap; }
th:first-child { text-align: left; }
td { padding: 11px 14px; text-align: center; border-bottom: 1px solid var(--borda); }
td:first-child { text-align: left; font-weight: 600; }
tr:last-child td { border-bottom: none; }
tr:nth-child(even) { background: var(--cinza); }
.col-dest { background: rgba(0,132,61,.06) !important; }
.badge-pop { display: inline-block; background: rgba(255,255,255,.22); color: #fff; font-size: 10px; font-weight: 700; padding: 2px 7px; border-radius: 10px; margin-left: 5px; vertical-align: middle; }
.nota { font-size: 11.5px; color: #888; margin-top: 10px; line-height: 1.5; }

.hospital-list { list-style: none; margin: 14px 0 18px; }
.hospital-list li { font-size: 14px; padding: 6px 0; border-bottom: 1px solid var(--borda); display: flex; align-items: flex-start; gap: 10px; }
.hospital-list li:last-child { border: none; }
.hospital-list li i { color: var(--verde); margin-top: 3px; font-size: 13px; flex-shrink: 0; }

.pills { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0; }
.pill { background: var(--verde-bg); color: var(--verde-esc); border: 1px solid var(--borda); padding: 6px 14px; border-radius: 20px; font-size: 13px; font-weight: 600; display: inline-flex; align-items: center; gap: 6px; }
.pill i { font-size: 12px; }

.counter-sec { background: linear-gradient(135deg, #0D1B2A, #1a2f1a); color: #fff; padding: 64px 0; }
.counter-sec .container { display: grid; grid-template-columns: 1fr 2fr; gap: 50px; align-items: center; }
.counter-sec h2 { font-family: 'Sora', sans-serif; font-size: 28px; font-weight: 800; margin-bottom: 12px; }
.counter-sec h2 span { color: #fecf51; }
.counter-sec .desc { font-size: 14px; opacity: .8; line-height: 1.7; }
.counter-cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.counter-card { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12); border-radius: 12px; padding: 22px 18px; text-align: center; }
.counter-card .num { font-family: 'Sora', sans-serif; font-size: 26px; font-weight: 800; color: #A7F3D0; margin-bottom: 8px; }
.counter-card p { font-size: 13px; opacity: .8; line-height: 1.5; margin-bottom: 14px; }
.counter-card a { display: inline-block; background: var(--verde); color: #fff; padding: 8px 16px; border-radius: 7px; text-decoration: none; font-size: 13px; font-weight: 700; transition: background .2s; }
.counter-card a:hover { background: var(--verde-clr); }

.info-bar { background: var(--verde); color: #fff; padding: 0; }
.info-bar .container { display: grid; grid-template-columns: repeat(3,1fr); }
.info-item { padding: 28px 24px; display: flex; align-items: center; gap: 16px; border-right: 1px solid rgba(255,255,255,.2); }
.info-item:last-child { border: none; }
.info-item i { font-size: 26px; opacity: .85; }
.info-item .label { font-size: 12px; opacity: .8; margin-bottom: 4px; }
.info-item .val { font-size: 17px; font-weight: 700; }
.info-item .val a { color: #fff; text-decoration: none; }

footer { background: var(--verde-esc); color: #fff; padding: 56px 0 0; }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 36px; margin-bottom: 44px; }
.footer-col h4 { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.2px; opacity: .55; margin-bottom: 16px; }
.footer-col .desc { font-size: 14px; color: rgba(255,255,255,.7); line-height: 1.7; margin-top: 12px; }
.footer-col ul { list-style: none; }
.footer-col ul li { margin-bottom: 9px; }
.footer-col ul li a { color: rgba(255,255,255,.72); text-decoration: none; font-size: 14px; transition: color .2s; }
.footer-col ul li a:hover { color: #fff; }
.footer-col .contact-row { display: flex; align-items: center; gap: 9px; font-size: 13.5px; color: rgba(255,255,255,.75); margin-bottom: 10px; }
.footer-col .contact-row i { color: #A7F3D0; font-size: 15px; }
.footer-col .contact-row a { color: #A7F3D0; text-decoration: none; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.12); padding: 20px 0; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; font-size: 12.5px; color: rgba(255,255,255,.45); }

.faq-list { margin-top: 30px; max-width: 820px; }
.faq-item { background: #fff; border-radius: 10px; margin-bottom: 10px; border: 1px solid var(--borda); }
.faq-q { padding: 16px 20px; font-size: 15px; font-weight: 600; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.faq-q i { color: var(--verde); font-size: 13px; transition: transform .2s; flex-shrink: 0; }
.faq-a { display: none; padding: 0 20px 16px; font-size: 14px; color: var(--subtexto); line-height: 1.65; }
.faq-item.open .faq-a { display: block; }
.faq-item.open .faq-q i { transform: rotate(180deg); }

.scroll-top { position: fixed; bottom: 90px; right: 20px; background: var(--verde); color: #fff; width: 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center; text-decoration: none; font-size: 18px; opacity: 0; transition: opacity .3s; z-index: 500; }
.scroll-top.visible { opacity: 1; }

@media(max-width:960px){
  nav { display: none; }
  nav.open { display: block; position: absolute; top: 72px; left: 0; right: 0; background: #fff; box-shadow: 0 10px 30px rgba(0,0,0,.1); padding: 14px; z-index: 998; }
  nav.open ul { flex-direction: column; gap: 4px; }
  nav.open ul li.dropdown > ul { display: none; position: static; box-shadow: none; border: 1px solid var(--borda); border-radius: 8px; margin: 4px 0 4px 12px; }
  nav.open ul li.dropdown.open > ul { display: block; }
  .hamburger { display: block; }
  .page-body .container { grid-template-columns: 1fr; }
  .sidebar { position: static; }
  .orcamento-section .container { grid-template-columns: 1fr; gap: 30px; }
  .dif-grid { grid-template-columns: 1fr; }
  .counter-sec .container { grid-template-columns: 1fr; gap: 30px; }
  .counter-cards { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .info-bar .container { grid-template-columns: 1fr; }
  .info-item { border-right: none; border-bottom: 1px solid rgba(255,255,255,.2); }
  .info-item:last-child { border: none; }
  .topbar .container { flex-direction: column; gap: 4px; text-align: center; }
  .page-hero h1 { font-size: 28px; }
}
@media(max-width:600px){
  .footer-grid { grid-template-columns: 1fr; }
  .sec-title { font-size: 26px; }
}
