/* Lugano Biomédica — atualização institucional de outubro de 2026. */
:root { --lugano-purple: #5b2d8e; --lugano-ink: #282235; --lugano-line: #e9e1f1; }
body { font-size: 17px; line-height: 1.65; }
h1,h2,h3,h4,p,a,summary { overflow-wrap: break-word; }
a,button,summary { -webkit-tap-highlight-color: transparent; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline: 3px solid #a16bc7; outline-offset: 5px; }
.skip-link { position: fixed; top: -100px; left: 16px; z-index: 10000; background: #fff; color: #5b2d8e; padding: 12px 20px; }
.skip-link:focus { top: 12px; }
.section-title { padding-bottom: 38px; }
.section-title p { max-width: 850px; margin-inline: auto; font-size: 18px; }
.section-title h2 { font-size: clamp(28px, 3vw, 36px); }
.section-eyebrow { color: var(--lugano-purple); text-transform: uppercase; font-size: 13px; font-weight: 700; letter-spacing: 1.3px; margin-bottom: 12px; }
[id] { scroll-margin-top: 105px; }
.header { z-index: 1000; }
.header .logo img { width: auto; height: auto; max-width: 205px; max-height: 48px; }
.mobile-nav-toggle { background: none; border: 0; padding: 5px 8px; line-height: 1; }
.navmenu .dropdown { position: relative; }
.navmenu .dropdown > a { padding-right: 34px; }
.institutional-menu-toggle { position: absolute; top: 50%; right: 7px; transform: translateY(-50%); display: grid; place-items: center; background: transparent; border: 0; color: inherit; width: 27px; height: 30px; border-radius: 4px; font-size: 13px; }
.navmenu .dropdown:focus-within > ul,.navmenu .dropdown > ul.dropdown-active { opacity: 1; visibility: visible; top: 100%; }
.navmenu .dropdown ul { min-width: 295px; }
.navmenu .dropdown ul a { white-space: normal; }
.hero { min-height: 710px; padding: 65px 0 52px; }
.hero:before { background: rgba(22, 12, 39, .73); }
.hero .hero-content { max-width: 960px; }
.hero h1 { color: #fff; font-size: clamp(37px, 4.8vw, 62px); font-weight: 750; line-height: 1.12; margin: 0 0 18px; }
.hero .hero-eyebrow { color: #f0dfff; font-size: 13px; letter-spacing: 1.6px; text-transform: uppercase; margin: 0 0 22px; font-weight: 600; }
.hero .hero-positioning { font-size: clamp(25px, 3vw, 36px); font-weight: 650; line-height: 1.3; max-width: 900px; margin: 0 auto 18px; }
.hero .hero-description { font-size: 19px; font-weight: 400; color: #f5eff9; max-width: 740px; margin: 0 auto; line-height: 1.6; }
.hero-actions { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 14px; margin-top: 28px; }
.hero .btn-get-started { margin: 0; padding: 13px 24px; border-radius: 30px; font-size: 14px; font-weight: 600; letter-spacing: 0; text-transform: none; color: #fff; border: 2px solid rgba(255,255,255,.7); background: transparent; }
.hero .btn-cta-whatsapp { margin: 0; font-size: 14px; padding: 13px 24px; }
.hero-partners { margin: 28px auto 0; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 6px 36px; }
.hero-partners > span { flex-basis: 100%; font-size: 14px; color: #eee6f6; }
.hero-partners a { background: transparent; border: 0; border-radius: 0; padding: 0; display: flex; align-items: center; height: 140px; width: 360px; max-width: 100%; justify-content: center; }
.hero .hero-partners img { position: static; inset: auto; z-index: auto; width: 100%; max-width: 100%; height: auto; max-height: none; object-fit: contain; }
.hero .hero-partner-bluesail img { width: 250px; }
.about h3 { font-size: 27px; line-height: 1.35; font-weight: 700; color: var(--lugano-ink); }
.about .section-eyebrow { font-style: normal; }
.institutional-links { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 22px; }
.institutional-links a { font-size: 15px; font-weight: 600; }
.history-block { margin-top: 46px; padding-top: 34px; border-top: 1px solid var(--lugano-line); }
.institutional-principles { margin-top: 38px; }
.institutional-principles > p:not(.section-eyebrow) { margin-bottom: 24px; }
.institutional-disclosure { border: 1px solid var(--lugano-line); border-radius: 12px; background: #fcfaff; }
.institutional-disclosure summary { list-style: none; padding: 23px 22px; display: flex; align-items: center; gap: 14px; font-family: var(--heading-font); font-size: 22px; font-weight: 700; cursor: pointer; color: var(--lugano-ink); }
.institutional-disclosure summary::-webkit-details-marker { display: none; }
.institutional-disclosure summary > i { margin-left: auto; font-size: 16px; }
.institutional-disclosure[open] summary > i { transform: rotate(45deg); }
.disclosure-number { font-family: var(--default-font); font-size: 13px; font-weight: 700; color: var(--lugano-purple); }
.disclosure-body { padding: 0 22px 12px; font-size: 16px; }
.disclosure-body p { margin-bottom: 16px; }
.institutional-signature { max-width: 720px; margin: 32px auto 0; text-align: center; font-family: var(--heading-font); color: var(--lugano-purple); font-size: 21px; font-weight: 700; }
.pillar-number { display: block; color: var(--lugano-purple); font-size: 26px; font-weight: 700; margin-bottom: 16px; }
.status-label { font-size: 12px; font-weight: 700; letter-spacing: .65px; text-transform: uppercase; color: var(--lugano-purple); margin-bottom: 10px; }
.results-block { border-top: 1px solid var(--lugano-line); margin-top: 26px; padding-top: 35px; display: grid; grid-template-columns: 1fr 1.3fr; gap: 35px; }
.results-block h3 { font-size: 26px; font-weight: 700; }
.results-block > div > p:last-child { font-size: 15px; }
.results-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
.results-grid strong { display: block; font-size: clamp(36px, 4vw, 52px); line-height: 1.2; color: var(--lugano-purple); font-weight: 750; }
.results-grid span { display: block; font-size: 16px; line-height: 1.5; margin-top: 12px; }
.polo-group-title { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; margin-bottom: 22px; }
.polo-group-title h3 { font-size: 24px; font-weight: 700; margin: 0; }
.polo-group-title > span { color: var(--lugano-purple); background: #f3ebf9; padding: 3px 11px; font-size: 13px; border-radius: 20px; font-weight: 700; }
.expansion-title { margin-top: 42px; }
.polo-item h4 { font-size: 21px; line-height: 1.4; font-weight: 700; margin-bottom: 0; }
.polo-tag { font-size: 12px; }
.polo-expansion { border-top-color: #b7a8c8; }
.polo-expansion .polo-tag { background: #eeedf0; color: #62576c; }
.product-card { height: 100%; border: 1px solid var(--lugano-line); border-radius: 12px; overflow: hidden; background: #fff; display: flex; flex-direction: column; transition: box-shadow .2s; }
.product-card:hover { box-shadow: 0 9px 24px rgba(91,45,142,.1); }
.product-image { display: block; position: relative; background: #f6f2fa; aspect-ratio: 4/3; }
.product-image img { width: 100%; height: 100%; object-fit: contain; }
.product-image > span { position: absolute; bottom: 12px; right: 12px; background: #fff; color: var(--lugano-purple); border-radius: 50%; width: 34px; height: 34px; display: grid; place-items: center; }
.product-content { padding: 24px; display: flex; flex-direction: column; flex: 1; }
.product-content h3 { font-size: 21px; font-weight: 700; line-height: 1.4; margin-bottom: 24px; }
.product-contact { margin-top: auto; display: flex; align-items: center; gap: 8px; border-top: 1px solid var(--lugano-line); padding-top: 16px; color: var(--lugano-purple); font-size: 15px; font-weight: 700; }
.product-contact:hover { color: #431f69; text-decoration: underline; text-underline-offset: 4px; }
.partner-box .small { font-size: 16px; }
.btn-cta-whatsapp { justify-content: center; max-width: 100%; text-align: center; white-space: normal; }
.contact-card-premium h4 { font-size: 22px; }
.contact-card-premium .small { font-size: 15px; }
.footer .footer-about p { font-size: 16px; }
.footer .footer-links li { line-height: 1.4; }
.footer .footer-contact p { overflow-wrap: anywhere; }
@media(min-width:1200px) and (max-width:1399px) {
 .header .logo img { max-width: 165px; }
 .navmenu a,.navmenu a:focus { font-size: 13px; padding-left: 10px; padding-right: 10px; }
 .navmenu .dropdown > a { padding-right: 29px; }
 .header-social-links { padding-left: 6px; }
}
@media(max-width:1199px) {
 .navmenu .dropdown > a { padding-right: 60px; }
 .institutional-menu-toggle { right: 19px; top: 8px; transform: none; width: 40px; height: 40px; background: #f3ebf9; color: #5b2d8e; }
 .navmenu .dropdown:focus-within > ul { display: none; }
 .navmenu .dropdown > ul.dropdown-active { display: block; }
 .navmenu .dropdown ul { min-width: 0; }
 .navmenu .dropdown ul a { font-size: 15px; }
}
@media(max-width:767px) {
 body { font-size: 16px; }
 .section { padding: 45px 0; }
 .section-title { padding-bottom: 28px; }
 .section-title p { font-size: 16px; }
 .header .logo img { max-width: 175px; }
 .hero { min-height: 0; padding: 46px 0 36px; }
 .hero .hero-description { font-size: 17px; }
 .hero .hero-positioning { font-size: 25px; }
 .hero-actions { gap: 10px; }
 .hero-actions a { width: 100%; }
 .hero-partners { gap: 6px 20px; margin-top: 24px; }
 .hero-partners > span { flex-basis: 100%; }
 .hero-partners a { width: calc((100% - 20px) / 2); height: 100px; }
 .hero .hero-partner-bluesail img { width: min(100%, 170px); }
 .about h3 { font-size: 24px; }
 .history-block { margin-top: 30px; padding-top: 26px; }
 .results-block { grid-template-columns: 1fr; gap: 22px; }
 .results-grid { gap: 22px; }
 .results-grid strong { font-size: 37px; }
 .institutional-links { display: grid; gap: 10px; }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior: auto !important; }
 *,*::before,*::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
 [data-aos] { opacity: 1 !important; transform: none !important; }
}

/* Logo institucional do rodapé, com proporção e transparência originais. */
.footer .footer-about .logo { display: block !important; width: 420px; max-width: 100%; }
.footer .footer-about .logo img { display: block; width: 100%; max-width: 100%; height: auto; max-height: none; margin: 0; }

/* Navegação ao final do institucional integrado. */
.institutional-links-footer { justify-content: center; margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--lugano-line); gap: 16px 36px; text-align: center; }

/* Sete pilares com hierarquia e estágio próprios. */
.legacy-section-anchor { display: block; height: 0; line-height: 0; overflow: hidden; pointer-events: none; }
.strategic-pillar { height: 100%; background: #fff; border: 1px solid var(--lugano-line); border-radius: 12px; padding: 32px; }
.pillar-heading { display: flex; align-items: center; gap: 18px; margin-bottom: 18px; }
.pillar-heading .pillar-number,.pillar-heading .status-label { margin: 0; }
.pillar-heading .status-label { font-size: 12px; line-height: 1.5; }
.strategic-pillar h3 { font-size: 24px; font-weight: 700; line-height: 1.35; color: var(--lugano-ink); margin-bottom: 16px; }
.strategic-pillar p:last-child { margin-bottom: 0; }
.pillar-development { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--lugano-line); }
.pillar-development h4 { font-size: 17px; line-height: 1.45; font-weight: 700; color: var(--lugano-purple); margin-bottom: 10px; }
.pillar-development p { font-size: 16px; }
.pillar-inline-link { font-size: 15px; font-weight: 600; }
.results-current { margin-top: 0; padding-top: 0; border-top: 0; }
.current-outcomes { margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--lugano-line); }
.current-outcomes h3 { font-size: 23px; font-weight: 700; }
.current-outcomes p { margin-bottom: 0; }
@media(max-width:767px) {
 .strategic-pillar { padding: 25px; }
 .strategic-pillar h3 { font-size: 22px; }
 .pillar-heading { gap: 14px; }
 .pillar-heading .status-label { font-size: 11px; }
}

/* WhatsApp flutuante no padrão da referência, com a identidade da Lugano. */
a.lugano-whatsapp-float {
  position: fixed;
  right: 10px;
  bottom: 80px;
  right: calc(10px + env(safe-area-inset-right, 0px));
  bottom: calc(80px + env(safe-area-inset-bottom, 0px));
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background-color: var(--lugano-purple, #5B2D8E);
  color: #ffffff;
  text-decoration: none;
  box-shadow: 0 4px 14px rgba(91, 45, 142, 0.28);
  transition: background-color 0.2s ease, box-shadow 0.2s ease;
}
a.lugano-whatsapp-float i {
  font-size: 30px;
  line-height: 1;
}
a.lugano-whatsapp-float:hover,
a.lugano-whatsapp-float:focus-visible {
  background-color: var(--lugano-purple-hover, #431f69);
  color: #ffffff;
  box-shadow: 0 6px 18px rgba(91, 45, 142, 0.34);
}
a.lugano-whatsapp-float:focus-visible {
  outline: 3px solid var(--lugano-purple, #5B2D8E);
  outline-offset: 4px;
}
@media (prefers-reduced-motion: reduce) {
  a.lugano-whatsapp-float { transition: none; }
}
