/* GERADO por scripts/build-shell.py a partir do menu/rodape da home. Nao editar a mao. */
:root{--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--nav-h:72px}
footer.sh-phd-footer-v2{margin:0;padding:0;width:100%}
/* nas paginas internas o fundo da pagina vazava pelo drawer translucido da home */
.sh-nav{z-index:9999 !important}
.sh-nav-mobile-overlay{z-index:9998 !important;background:#111 !important;-webkit-backdrop-filter:none !important;backdrop-filter:none !important}
.sh-nav {
  position:fixed;
  top:0; left:0; right:0;
  z-index:100;
  padding:20px 40px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  background: var(--cream);
  border-bottom: 1px solid rgba(0,0,0,0.06);
  transition: padding 0.3s var(--ease-out), background 0.3s var(--ease-out), border-color 0.3s;
}
.sh-nav.scrolled {
  padding:12px 40px;
  background: rgba(255,253,247,0.88);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}
.sh-nav.dark-mode {
  background: rgba(17,17,17,0.88);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom-color: rgba(255,255,255,0.08);
}
.sh-nav-logo {
  font-family: var(--font-display);
  font-size:22px;
  color: var(--green-deep);
  flex-shrink:0;
  transition: color 0.3s;
}
.sh-nav.dark-mode .sh-nav-logo { color: var(--green-light); }
.sh-nav-links {
  display:flex;
  align-items:center;
  gap:28px;
  list-style:none;
  flex:1;
  justify-content:center;
}
.sh-nav-item { position:relative; }
.nav-link-plain {
  font-size:14px;
  font-weight:400;
  color: var(--text-light);
  position:relative;
  padding:6px 0;
  display:inline-block;
  transition: color 0.2s;
}
.nav-link-plain::after {
  content:'';
  position:absolute;
  bottom:0; left:0;
  width:0; height:1.5px;
  background: var(--green-primary);
  transition: width 0.25s var(--ease-out);
}
.nav-link-plain:hover { color: var(--green-deep); }
.nav-link-plain:hover::after { width:100%; }
.sh-nav.dark-mode .nav-link-plain { color:rgba(255,255,255,0.72); }
.sh-nav.dark-mode .nav-link-plain:hover { color:#fff; }
.sh-nav.dark-mode .nav-link-plain::after { background: var(--green-light); }
.sh-nav-item-dropdown { position:relative; }
.sh-nav-link-trigger {
  display:inline-flex;
  align-items:center;
  gap:5px;
  font-size:14px;
  font-weight:400;
  color: var(--text-light);
  background:none;
  padding:6px 0;
  transition: color 0.2s;
}
.sh-nav-link-trigger:hover,
.sh-nav-item-dropdown.is-open .sh-nav-link-trigger { color: var(--green-deep); }
.sh-nav.dark-mode .sh-nav-link-trigger { color:rgba(255,255,255,0.72); }
.sh-nav.dark-mode .sh-nav-link-trigger:hover,
.sh-nav.dark-mode .sh-nav-item-dropdown.is-open .sh-nav-link-trigger { color:#fff; }
.sh-nav-caret {
  width:14px; height:14px;
  display:inline-block;
  transition: transform 0.2s var(--ease-spring);
}
.sh-nav-caret svg { width:14px; height:14px; display:block; }
.sh-nav-item-dropdown.is-open .sh-nav-caret { transform: rotate(180deg); }
.sh-nav-item-dropdown { position:relative; }
.sh-nav-item-dropdown::after {
  content:'';
  position:absolute;
  top:100%;
  left:-40px; right:-40px;
  height:16px;
  background:transparent;
}
.sh-nav-dropdown {
  position:fixed;
  top:var(--nav-h, 64px);
  left:0; right:0;
  background:rgba(10,10,10,0.97);
  backdrop-filter: blur(24px) saturate(1.4);
  -webkit-backdrop-filter: blur(24px) saturate(1.4);
  border-top: 2px solid var(--green-primary);
  box-shadow: 0 32px 80px rgba(0,0,0,0.4);
  padding:0;
  z-index:98;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform: translateY(-10px);
  transition: opacity 0.2s var(--ease-out), visibility 0.2s, transform 0.2s var(--ease-out);
  will-change: opacity, transform;
}
.sh-nav-dropdown.is-open {
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform: translateY(0);
}
.sh-nav-mega-inner {
  max-width:1200px;
  margin:0 auto;
  display:grid;
  grid-template-columns: 280px 1fr;
  gap:0;
  min-height:340px;
}
.sh-nav-mega-img {
  position:relative;
  overflow:hidden;
  border-right: 1px solid rgba(255,255,255,0.07);
}
.sh-nav-mega-img img {
  width:100%; height:100%;
  object-fit:cover;
  opacity:0.75;
  transition: opacity 0.3s, transform 0.4s var(--ease-out);
}
.sh-nav-mega-img:hover img { opacity:0.9; transform:scale(1.03); }
.sh-nav-mega-img-overlay {
  position:absolute; inset:0;
  background: linear-gradient(135deg, rgba(26,60,42,0.7) 0%, rgba(10,10,10,0.3) 100%);
}
.sh-nav-mega-img-label {
  position:absolute;
  bottom:24px; left:24px;
  font-family: var(--font-display);
  font-size:22px;
  font-style:italic;
  color:#fff;
  line-height:1.2;
  text-shadow: 0 2px 12px rgba(0,0,0,0.5);
}
.sh-nav-mega-img-sub {
  display:block;
  font-family: var(--font-body);
  font-size:12px;
  font-style:normal;
  color:rgba(255,255,255,0.6);
  margin-top:4px;
  font-weight:400;
}
.sh-nav-mega-img-cta {
  display:inline-block;
  margin-top:14px;
  padding:8px 16px;
  background: var(--green-primary);
  color:#fff;
  font-size:12px;
  font-weight:600;
  border-radius:6px;
  font-family: var(--font-body);
  font-style:normal;
  transition: background 0.2s;
}
.sh-nav-mega-img-cta:hover { background: var(--green-deep); }
.sh-nav-mega-links {
  padding:36px 40px;
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:0 40px;
  align-content:start;
}
.sh-nav-mega-links-single {
  padding:36px 48px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:0;
}
.sh-nav-mega-col-label {
  font-size:10px;
  font-weight:700;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:rgba(255,255,255,0.3);
  margin:0 0 12px;
  grid-column: 1 / -1;
}
.sh-nav-mega-link {
  display:flex;
  align-items:center;
  gap:10px;
  padding:9px 0;
  font-size:13.5px;
  color:rgba(255,255,255,0.68);
  border-bottom: 1px solid rgba(255,255,255,0.05);
  transition: color 0.15s, padding-left 0.15s;
}
.sh-nav-mega-link:last-child { border-bottom:none; }
.sh-nav-mega-link:hover { color:#fff; padding-left:6px; }
.sh-nav-mega-link-text { line-height:1.3; }
.sh-nav-mega-link-sub {
  display:block;
  font-size:11px;
  color:rgba(255,255,255,0.32);
  margin-top:1px;
  transition: color 0.15s;
}
.sh-nav-mega-link:hover .sh-nav-mega-link-sub { color:rgba(255,255,255,0.5); }
.sh-nav-mega-arrow-row {
  grid-column: 1 / -1;
  padding-top:16px;
  margin-top:4px;
  border-top: 1px solid rgba(255,255,255,0.07);
}
.sh-nav-mega-arrow {
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:13px;
  font-weight:600;
  color: var(--green-light);
  transition: gap 0.15s, color 0.15s;
}
.sh-nav-mega-arrow:hover { gap:10px; color:#fff; }
.sh-nav-mega-arrow::after { content:'→'; }
.sh-nav-actions {
  display:flex;
  align-items:center;
  gap:12px;
  flex-shrink:0;
}
.sh-nav-contact {
  display:flex;
  align-items:center;
  gap:7px;
  font-size:13px;
  font-weight:500;
  color: var(--green-primary);
  padding:6px 10px;
  border-radius:8px;
  transition: background 0.2s, color 0.2s;
}
.sh-nav-contact:hover { background: rgba(45,106,79,0.08); color: var(--green-deep); }
.sh-nav.dark-mode .sh-nav-contact { color: var(--green-light); }
.sh-nav.dark-mode .sh-nav-contact:hover { background:rgba(82,183,136,0.1); }
.sh-nav-contact svg { width:17px; height:17px; flex-shrink:0; }
.sh-nav-contact-text { white-space:nowrap; }
.sh-nav-cta {
  font-size:13px;
  font-weight:600;
  padding:9px 22px;
  border-radius: var(--radius-pill);
  background: var(--green-primary);
  color:#fff;
  position:relative;
  overflow:hidden;
  transition: transform 0.25s, box-shadow 0.25s, background 0.25s;
  white-space:nowrap;
}
.sh-nav-cta:hover {
  transform:translateY(-2px);
  box-shadow: 0 8px 24px rgba(45,106,79,0.3);
  background: var(--green-deep);
}
.sh-nav-cta::before {
  content:'';
  position:absolute;
  top:0; left:-100%;
  width:100%; height:100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.18), transparent);
  transition: left 0.45s;
}
.sh-nav-cta:hover::before { left:100%; }
.sh-nav-hamburger {
  display:none;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:5px;
  background:none;
  padding:8px;
  width:40px; height:40px;
  flex-shrink:0;
}
.sh-nav-hamburger span {
  width:24px; height:2px;
  background: var(--text);
  border-radius:2px;
  transition: transform 0.25s var(--ease-out), opacity 0.25s, background 0.3s;
  transform-origin:center;
}
.sh-nav.dark-mode .sh-nav-hamburger span { background:rgba(255,255,255,0.85); }
.sh-nav-hamburger[aria-expanded="true"] span:nth-child(1) { transform: rotate(45deg) translate(5px,5px); }
.sh-nav-hamburger[aria-expanded="true"] span:nth-child(2) { opacity:0; }
.sh-nav-hamburger[aria-expanded="true"] span:nth-child(3) { transform: rotate(-45deg) translate(5px,-5px); }
.sh-nav-mobile-overlay {
  position:fixed;
  inset:0;
  background:rgba(15,15,15,0.97);
  z-index:99;
  display:flex;
  flex-direction:column;
  opacity:0;
  visibility:hidden;
  transition: opacity 0.3s var(--ease-out), visibility 0.3s;
  overflow-y:auto;
}
.sh-nav-mobile-overlay.open {
  opacity:1;
  visibility:visible;
}
.sh-nav-mobile-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:18px 20px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
  flex-shrink:0;
}
.nav-mobile-logo {
  font-family: var(--font-display);
  font-size:20px;
  color:rgba(255,255,255,0.9);
}
.sh-nav-mobile-close {
  background:none;
  padding:8px;
  width:40px; height:40px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:0;
  position:relative;
}
.sh-nav-mobile-close span {
  position:absolute;
  width:22px; height:2px;
  background:rgba(255,255,255,0.8);
  border-radius:2px;
}
.sh-nav-mobile-close span:first-child { transform:rotate(45deg); }
.sh-nav-mobile-close span:last-child  { transform:rotate(-45deg); }
.sh-nav-mobile-cta-wrap { padding:20px 20px 0; }
.sh-nav-mobile-cta-btn {
  display:block;
  text-align:center;
  background: var(--green-primary);
  color:#fff;
  font-size:15px;
  font-weight:600;
  padding:14px 20px;
  border-radius:10px;
  transition: background 0.2s;
}
.sh-nav-mobile-cta-btn:active { background: var(--green-deep); }
.sh-nav-mobile-list {
  list-style:none;
  padding:12px 0;
  flex:1;
}
.sh-nav-mobile-list li { border-bottom: 1px solid rgba(255,255,255,0.06); }
.sh-nav-mobile-list-link {
  display:block;
  padding:15px 20px;
  font-size:15px;
  color:rgba(255,255,255,0.8);
  background:none;
  width:100%;
  text-align:left;
  font-family: var(--font-body);
  transition: background 0.15s, color 0.15s;
}
.sh-nav-mobile-list-link:active { background:rgba(255,255,255,0.05); color:#fff; }
.sh-nav-mobile-trigger {
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.nav-mobile-trigger-caret,
.sh-nav-mobile-caret {
  width:16px; height:16px;
  transition: transform 0.2s var(--ease-spring);
  flex-shrink:0;
}
.sh-nav-mobile-trigger[aria-expanded="true"] .nav-mobile-trigger-caret,
.sh-nav-mobile-trigger[aria-expanded="true"] .sh-nav-mobile-caret { transform:rotate(180deg); }
.sh-nav-mobile-sub {
  max-height:0;
  overflow:hidden;
  list-style:none;
  background:rgba(255,255,255,0.03);
  transition: max-height 0.25s var(--ease-out);
}
.sh-nav-mobile-trigger[aria-expanded="true"] + .sh-nav-mobile-sub { max-height:480px; }
.sh-nav-mobile-sub-link {
  display:block;
  padding:12px 20px 12px 36px;
  font-size:14px;
  color:rgba(255,255,255,0.6);
  border-left:2px solid transparent;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.sh-nav-mobile-sub-link:active {
  background:rgba(82,183,136,0.1);
  border-left-color: var(--green-light);
  color: var(--green-light);
}
.sh-nav-mobile-divider { height:1px; background:rgba(255,255,255,0.1); margin:8px 0; border:none; }
.sh-nav-mobile-wa {
  display:flex;
  align-items:center;
  gap:10px;
  padding:16px 20px;
  color: var(--green-light);
  font-size:14px;
  font-weight:500;
  border-top: 1px solid rgba(255,255,255,0.08);
  flex-shrink:0;
}
.sh-nav-mobile-wa svg { width:20px; height:20px; flex-shrink:0; }
.sh-nav-mobile-wa:active { background:rgba(82,183,136,0.08); }
.whatsapp-float {
  position:fixed;
  bottom:28px;
  right:28px;
  z-index:90;
  display:flex;
  align-items:center;
  gap:12px;
  transition: transform 0.3s var(--ease-out);
}
.whatsapp-float:hover { transform:translateY(-4px); }
.whatsapp-float:hover .whatsapp-label {
  opacity:1;
  transform:translateX(0);
}
@keyframes waPulse {
  0% { transform:scale(1); opacity:0.6; }
  100% { transform:scale(1.5); opacity:0; }
}
@media (max-width:1024px) {
.sh-nav-links { display:none; }
.sh-nav-contact { display:none; }
.sh-nav-hamburger { display:flex; }
.sh-nav-cta { padding:8px 16px; font-size:12px; }
}
@media (max-width:640px) {
.sh-nav { padding:14px 16px; }
.sh-nav.scrolled { padding:10px 16px; }
}
.ftv2-wave-wrap { display:block; line-height:0; margin-bottom:-1px; }
.ftv2-wave-wrap svg { width:100%; height:90px; display:block; }
@media (max-width:640px) {
.ftv2-wave-wrap svg { height:52px; }
}
.sh-phd-footer-v2 { font-family: var(--font-body, 'Inter', system-ui, sans-serif); color: #cdd9d4; }
.sh-phd-footer-v2 .sh-ftv2-columns { background: #0f1f16; padding: 16px 40px 80px; }
@media (max-width: 639px) {
.sh-phd-footer-v2 .sh-ftv2-columns { padding: 16px 20px 64px; }
.sh-phd-footer-v2 .sh-ftv2-sub { padding: 20px; }
}
.sh-phd-footer-v2 .sh-ftv2-brand-strip {
      max-width: 1400px; margin: 0 auto 56px;
      display: flex; align-items: center; gap: 24px;
      padding-bottom: 32px;
      border-bottom: 1px solid rgba(233,163,25,0.2);
    }
.sh-phd-footer-v2 .sh-ftv2-strip-logo {
      font-family: var(--font-display, 'Instrument Serif', Georgia, serif);
      font-size: 26px; font-style: italic; font-weight: 700;
      color: var(--gold, #e9a319); white-space: nowrap; text-decoration: none; flex-shrink: 0;
    }
.sh-phd-footer-v2 .sh-ftv2-strip-sep {
      flex: 1; height: 1px; background: rgba(255,255,255,0.08);
    }
.sh-phd-footer-v2 .sh-ftv2-strip-tagline {
      font-size: 12px; color: rgba(255,255,255,0.6);
      text-transform: uppercase; letter-spacing: 0.1em;
    }
@media (max-width: 639px) {
.sh-phd-footer-v2 .sh-ftv2-brand-strip {
        flex-wrap: wrap; gap: 12px 0; margin-bottom: 40px;
      }
.sh-phd-footer-v2 .sh-ftv2-strip-sep { display: none; }
.sh-phd-footer-v2 .sh-ftv2-strip-tagline {
        width: 100%; font-size: 11px; letter-spacing: 0.08em;
      }
}
.sh-phd-footer-v2 .sh-ftv2-grid {
      max-width: 1400px; margin: 0 auto;
      display: grid; gap: 0;
      grid-template-columns: 1fr;
    }
@media (min-width: 640px) {
.sh-phd-footer-v2 .sh-ftv2-grid { grid-template-columns: 1fr 1fr 1fr; gap: 48px 32px; }
}
@media (min-width: 1024px) {
.sh-phd-footer-v2 .sh-ftv2-grid { grid-template-columns: 1.4fr 1fr 1.2fr 1fr 1.2fr; gap: 0; }
}
.sh-phd-footer-v2 .sh-ftv2-col {
      padding: 0 32px 48px 0;
      border-right: 1px solid rgba(255,255,255,0.06);
    }
.sh-phd-footer-v2 .sh-ftv2-col:last-child { border-right: none; }
@media (max-width: 1023px) {
.sh-phd-footer-v2 .sh-ftv2-col { border-right: none; padding-right: 0; }
}
.sh-phd-footer-v2 .sh-ftv2-tagline {
      font-size: 14px; color: rgba(255,255,255,0.6); line-height: 1.6; margin: 0 0 24px;
    }
.sh-phd-footer-v2 .sh-ftv2-contact-row {
      display: flex; flex-direction: column; gap: 8px; margin-bottom: 24px;
    }
.sh-phd-footer-v2 .sh-ftv2-contact-row a {
      font-size: 13px; color: var(--green-light, #52b788); text-decoration: none;
      transition: color 0.2s;
    }
.sh-phd-footer-v2 .sh-ftv2-contact-row a:hover { color: var(--gold, #e9a319); }
.sh-phd-footer-v2 .sh-ftv2-contact-row span { font-size: 13px; color: rgba(255,255,255,0.3); }
.sh-phd-footer-v2 .sh-ftv2-badges { display: flex; flex-direction: column; gap: 8px; }
.sh-phd-footer-v2 .sh-ftv2-badge {
      display: inline-flex; align-items: center; gap: 6px;
      padding: 7px 12px; background: rgba(233,163,25,0.12);
      border: 1px solid rgba(233,163,25,0.25);
      border-radius: 8px; font-size: 11px; font-weight: 600;
      color: var(--gold, #e9a319); width: fit-content;
    }
.sh-phd-footer-v2 .sh-ftv2-badge svg { flex-shrink: 0; stroke: var(--gold, #e9a319); }
.sh-phd-footer-v2 .sh-ftv2-col h4 {
      font-family: var(--font-body, 'Inter', system-ui, sans-serif);
      font-size: 11px; font-weight: 700; color: rgba(255,255,255,0.5);
      margin: 0 0 16px; padding-left: 24px;
      text-transform: uppercase; letter-spacing: 0.12em;
    }
.sh-phd-footer-v2 .sh-ftv2-col ul { list-style: none; padding: 0; margin: 0; }
.sh-phd-footer-v2 .sh-ftv2-col ul li { margin: 0; padding-left: 24px; }
.sh-phd-footer-v2 .sh-ftv2-col ul li a {
      color: rgba(255,255,255,0.72); text-decoration: none;
      font-size: 14px; line-height: 1.4; transition: color 0.2s;
      display: block; padding: 6px 0;
    }
.sh-phd-footer-v2 .sh-ftv2-col ul li a:hover { color: var(--gold, #e9a319); }
.sh-phd-footer-v2 .sh-ftv2-col ul li.sh-ftv2-arrow a { color: var(--green-light, #52b788); }
.sh-phd-footer-v2 .sh-ftv2-col ul li.sh-ftv2-arrow a::after { content: ' →'; font-weight: 600; }
.sh-phd-footer-v2 .sh-ftv2-col ul li.sh-ftv2-arrow a:hover { color: var(--gold, #e9a319); }
@keyframes ftv2-float {
      0%, 100% { transform: translateY(0) rotate(-12deg); }
      50% { transform: translateY(-18px) rotate(-12deg); }
    }


.sh-phd-footer-v2 .sh-ftv2-sub {
      background: var(--dark-surface, #1a1a1a);
      padding: 20px 40px;
    }
.sh-phd-footer-v2 .sh-ftv2-sub-inner {
      max-width: 1400px; margin: 0 auto;
      display: grid; grid-template-columns: 1fr auto 1fr;
      gap: 24px; align-items: center; font-size: 13px;
    }
@media (max-width: 767px) {
.sh-phd-footer-v2 .sh-ftv2-sub-inner {
        grid-template-columns: 1fr; gap: 16px; text-align: center;
      }
}
.sh-phd-footer-v2 .sh-ftv2-copy { color: #aaa; line-height: 1.5; }
.sh-phd-footer-v2 .sh-ftv2-socials { display: flex; gap: 12px; justify-content: center; }
.sh-phd-footer-v2 .sh-ftv2-social-link {
      display: inline-flex; align-items: center; justify-content: center;
      width: 44px; height: 44px; border-radius: 50%;
      background: rgba(255,255,255,0.08); color: #fff;
      text-decoration: none; transition: background 0.2s, color 0.2s;
    }
.sh-phd-footer-v2 .sh-ftv2-social-link:hover { background: var(--gold, #e9a319); color: var(--green-deep, #1a3c2a); }
.sh-phd-footer-v2 .sh-ftv2-legal { text-align: right; color: #aaa; }
.sh-phd-footer-v2 .sh-ftv2-legal a { color: #aaa; text-decoration: none; transition: color 0.2s; }
.sh-phd-footer-v2 .sh-ftv2-legal a:hover { color: var(--gold, #e9a319); }
.sh-phd-footer-v2 .sh-ftv2-legal a + a::before { content: ' · '; margin: 0 4px; color: #555; }
@media (max-width: 640px) {
.sh-phd-footer-v2 .sh-ftv2-legal { text-align: center; }
}
/* cartoes clicaveis: o link fica so no titulo (ancora descritiva) e cobre o cartao */
[data-card]{position:relative;cursor:pointer}
[data-card] .phd-card-link{all:unset;display:inline !important;color:inherit !important;font:inherit !important;line-height:inherit !important;letter-spacing:inherit !important;text-transform:inherit !important;text-decoration:none !important;cursor:pointer;margin:0 !important;padding:0 !important;border:0 !important;background:none !important;box-shadow:none !important;width:auto !important;height:auto !important;min-width:0 !important;max-width:none !important;flex:none !important;gap:0 !important;position:static !important;transform:none !important;opacity:1 !important}
[data-card] .phd-card-link::after{content:"";position:absolute;inset:0;z-index:2}
[data-card]:has(.phd-card-link:focus-visible){outline:2px solid var(--green-primary,#2d6a4f);outline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
