/* TGD shared footer + link readability — canonical override */
footer.footer-mini{
  background:#111!important;
  border-top:1px solid rgba(201,169,110,.14)!important;
  padding:3rem max(5vw,24px) 1.6rem!important;
  display:grid!important;
  grid-template-columns:minmax(140px,190px) minmax(0,920px)!important;
  grid-template-areas:"logo links" "copy copy" "legal legal"!important;
  justify-content:center!important;
  align-items:start!important;
  column-gap:clamp(3rem,7vw,7rem)!important;
  row-gap:1.8rem!important;
  text-align:left!important;
}
footer.footer-mini .footer-logo{grid-area:logo!important;display:flex!important;justify-content:center!important;align-items:flex-start!important;padding:.1rem 0 0!important;margin:0!important}
footer.footer-mini .footer-logo img{height:42px!important;width:auto!important;opacity:1!important}
footer.footer-mini .footer-links-list{
  grid-area:links!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(150px,1fr))!important;
  grid-auto-flow:column!important;
  grid-template-rows:repeat(7,auto)!important;
  align-items:start!important;
  justify-content:stretch!important;
  gap:.62rem clamp(2.5rem,5vw,5.5rem)!important;
  width:100%!important;
  max-width:920px!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
footer.footer-mini .footer-links-list li{margin:0!important;padding:0!important;list-style:none!important;line-height:1.45!important}
footer.footer-mini .footer-links-list .footer-group-label{
  color:#c9a96e!important;
  opacity:1!important;
  font-size:.7rem!important;
  font-weight:500!important;
  letter-spacing:.2em!important;
  text-transform:uppercase!important;
  margin:0 0 .22rem!important;
  display:block!important;
}
footer.footer-mini .footer-links-list .footer-sep{display:none!important}
footer.footer-mini .footer-links-list a,
footer.footer-mini .footer-links-list a:visited{
  color:rgba(245,240,232,.72)!important;
  font-size:.75rem!important;
  font-weight:300!important;
  text-decoration:none!important;
  transition:color .2s ease!important;
}
footer.footer-mini .footer-links-list a:hover,
footer.footer-mini .footer-links-list a:focus-visible{color:#c9a96e!important}
footer.footer-mini .footer-copy{
  grid-area:copy!important;
  width:100%!important;
  max-width:1110px!important;
  justify-self:center!important;
  padding-top:1.25rem!important;
  border-top:1px solid rgba(201,169,110,.1)!important;
  color:rgba(245,240,232,.5)!important;
  font-size:.7rem!important;
  text-align:center!important;
}
footer.footer-mini .footer-legal-mini{
  grid-area:legal!important;
  justify-self:center!important;
  margin:0!important;
  padding:0!important;
  color:rgba(245,240,232,.36)!important;
  font-size:.65rem!important;
  text-align:center!important;
  pointer-events:none!important;
}

/* Prevent browser-default blue/purple links in TGD CTA areas */
.hero-actions a,.hero-actions a:visited{color:#c9a96e;text-decoration:none}
.hero-actions .hero-primary,.hero-actions .hero-primary:visited{background:#c9a96e;color:#0b0b0b!important;border-color:#c9a96e}
.hero-actions .hero-secondary,.hero-actions .hero-secondary:visited{color:#f5f0e8!important;border-color:rgba(201,169,110,.55)}
.hero-actions .hero-primary:hover,.hero-actions .hero-primary:focus-visible{background:#dfc28b;color:#0b0b0b!important}
.hero-actions .hero-secondary:hover,.hero-actions .hero-secondary:focus-visible{color:#c9a96e!important;border-color:#c9a96e}

.cta-actions a,.cta-actions a:visited,
.cta-final-actions a,.cta-final-actions a:visited,
.inline-cta a,.inline-cta a:visited,
.highlight-box a,.highlight-box a:visited{
  color:#c9a96e;
  text-decoration:none;
}
.cta-actions a:hover,.cta-actions a:focus-visible,
.cta-final-actions a:hover,.cta-final-actions a:focus-visible,
.inline-cta a:hover,.inline-cta a:focus-visible,
.highlight-box a:hover,.highlight-box a:focus-visible{color:#f5f0e8}

@media(max-width:800px){
  footer.footer-mini{
    grid-template-columns:1fr!important;
    grid-template-areas:"logo" "links" "copy" "legal"!important;
    row-gap:1.6rem!important;
    padding:2.5rem 7vw 1.5rem!important;
  }
  footer.footer-mini .footer-logo{justify-content:center!important}
  footer.footer-mini .footer-links-list{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:.6rem 1.5rem!important;
  }
}
@media(max-width:520px){
  footer.footer-mini .footer-links-list{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    grid-template-rows:none!important;
    text-align:left!important;
  }
  footer.footer-mini .footer-links-list .footer-group-label{margin-top:.55rem!important}
}

/* Canonical visited states for interactive TGD links */
a.btn-primary:visited,a.primary:visited,a.btn-gold:visited,a.b2b-primary:visited,a.nav-cta:visited,a.navcta:visited{color:#0b0b0b!important}
a.btn-ghost:visited,a.secondary:visited,a.btn-outline:visited,a.b2b-secondary:visited{color:#f5f0e8!important}
a.text-link:visited,a.case-link:visited,a.p1-link:visited,a.canal-link:visited{color:#c9a96e!important}
a.related-card:visited,a.b2b-card:visited{color:inherit!important}


/* Narrow phones / foldable half-screen safety */
@media(max-width:380px){
  footer.footer-mini{padding-left:18px!important;padding-right:18px!important}
  footer.footer-mini .footer-links-list{grid-template-columns:1fr!important;gap:.5rem!important}
  .hero-actions,.b2b-actions{display:grid!important;grid-template-columns:1fr!important;width:100%!important}
  .hero-actions a,.b2b-actions a{width:100%!important;min-width:0!important;white-space:normal!important;text-align:center!important}
  .conversion-mobile a{padding:.78rem .18rem!important;font-size:.64rem!important;letter-spacing:0!important;min-width:0!important}
  .report-modal{padding:6px!important}
  .report-modal__head h2{font-size:1.2rem!important}
  .report-modal__foot{font-size:.65rem!important}
}
@media(min-width:381px) and (max-width:720px){
  footer.footer-mini .footer-links-list{gap:.55rem 1.1rem!important}
  .hero-actions a,.b2b-actions a{min-width:0!important}
}

/* Shared semantic footer groups */
footer.footer-mini .footer-links-list{grid-template-rows:none!important;grid-auto-flow:row!important;gap:clamp(1.5rem,4vw,4rem)!important}
footer.footer-mini .footer-link-group{list-style:none;margin:0;padding:0;display:grid;align-content:start;gap:.62rem}
footer.footer-mini .footer-link-group .footer-group-label{margin-bottom:.22rem!important}
@media(max-width:800px){footer.footer-mini .footer-links-list{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:520px){footer.footer-mini .footer-links-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}footer.footer-mini .footer-link-group:last-child{grid-column:1/-1}}
@media(max-width:380px){footer.footer-mini .footer-links-list{grid-template-columns:1fr!important}footer.footer-mini .footer-link-group:last-child{grid-column:auto}}

/* Keep footer rhythm identical despite page-specific list and span rules. */
footer.footer-mini .footer-link-group li{font-size:1rem!important}
footer.footer-mini .footer-copy{margin:0!important}

/* Mobile navigation and conversion bar must not inherit each other's layout. */
.burger{flex-direction:column!important;gap:5px!important;align-items:center;justify-content:center;min-width:44px;min-height:44px}
@media(max-width:900px){
  body > nav:not(.conversion-mobile){z-index:210!important}
  .mobile-menu.open{z-index:220!important}
  .conversion-mobile{top:auto!important;height:auto!important;min-height:48px;align-items:stretch!important;padding-top:0!important;padding-left:0!important;padding-right:0!important;justify-content:stretch!important}
  .conversion-mobile a,.conversion-mobile a:visited{display:flex;align-items:center;justify-content:center;min-width:0;min-height:48px;line-height:1.3!important;font-size:.72rem!important;white-space:normal;text-decoration:none!important}
  .conversion-mobile-call,.conversion-mobile-call:visited{color:#0b0b0b!important}
  .conversion-mobile-whatsapp,.conversion-mobile-whatsapp:visited{color:#fff!important}
  .conversion-mobile-quote,.conversion-mobile-quote:visited{color:#e6c88f!important}
}
/* Explicit link and button colors on dark content and gold actions. */
.hero-actions a.btn-primary,.hero-actions a.btn-primary:visited,
.hero-actions a.btn-gold,.hero-actions a.btn-gold:visited,
.hero-actions a.hero-primary,.hero-actions a.hero-primary:visited,
.p1-links a.hero-primary,.p1-links a.hero-primary:visited{background:#c9a96e!important;color:#0b0b0b!important;text-decoration:none!important}
.hero-actions a.btn-ghost,.hero-actions a.btn-ghost:visited,
.hero-actions a.hero-secondary,.hero-actions a.hero-secondary:visited,
.p1-links a.hero-secondary,.p1-links a.hero-secondary:visited{background:transparent!important;color:#f5f0e8!important;border:1px solid rgba(201,169,110,.6)!important;text-decoration:none!important}
.hero-actions a.hero-primary,.hero-actions a.hero-secondary,
.p1-links a.hero-primary,.p1-links a.hero-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.85rem 1.2rem;text-align:center;line-height:1.4;box-sizing:border-box}
.p1-links{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem}
.p1-links a.p1-link,.p1-links a.p1-link:visited,
.compact-proof a.p1-link,.compact-proof a.p1-link:visited,
.compact-digital-note a.p1-link,.compact-digital-note a.p1-link:visited{color:#d9b777!important;text-decoration:underline;text-underline-offset:3px}
@media(max-width:600px){
  .hero-actions,.p1-links{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:.75rem!important}
  .hero-actions a,.p1-links a{max-width:100%;min-width:0;white-space:normal!important;overflow-wrap:anywhere}
  .hero-actions a.btn-primary,.hero-actions a.btn-ghost{width:100%;text-align:center}
}

/* A single mobile menu layout and icon on every page. */
.tgd-created-toggle{display:none}
@media(max-width:980px){
  body.tgd-menu-is-open{overflow:hidden!important}
  button.burger,button.b2b-mobile-toggle{flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:6px!important;width:48px!important;height:48px!important;padding:8px!important;line-height:1!important}
  button.b2b-mobile-toggle{display:flex!important}
  button.burger span,button.b2b-mobile-toggle span{display:block!important;flex:none!important;width:26px!important;height:2px!important;margin:0!important;background:#f5f0e8!important;border-radius:1px!important}
  .tgd-unified-mobile-menu{display:none!important;position:fixed!important;inset:0!important;z-index:400!important;box-sizing:border-box!important;background:#0a0a0a!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;gap:clamp(.75rem,2.3vh,1.45rem)!important;padding:clamp(4.5rem,10vh,6rem) 1.1rem max(2rem,env(safe-area-inset-bottom))!important;overflow-y:auto!important;text-align:center!important}
  .tgd-unified-mobile-menu.open{display:flex!important}
  .tgd-unified-mobile-menu>a:not(.tgd-menu-cta){display:block!important;color:#f5f0e8!important;font:300 clamp(1.55rem,5vw,2rem)/1.2 'Cormorant Garamond',serif!important;text-decoration:none!important;min-height:38px!important}
  .tgd-unified-mobile-menu .tgd-menu-sub{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:.5rem 1.1rem!important;margin:0!important}
  .tgd-unified-mobile-menu .tgd-menu-sub a{color:#c9a96e!important;font:500 .68rem/1.5 Montserrat,sans-serif!important;text-transform:uppercase!important;letter-spacing:.1em!important;text-decoration:none!important}
  .tgd-unified-mobile-menu .tgd-menu-cta{display:flex!important;align-items:center!important;justify-content:center!important;width:min(100%,420px)!important;min-height:52px!important;margin:.3rem auto 0!important;padding:.7rem 1rem!important;background:#c9a96e!important;color:#0b0b0b!important;font:500 .74rem/1.35 Montserrat,sans-serif!important;letter-spacing:.12em!important;text-transform:uppercase!important;text-decoration:none!important;box-sizing:border-box!important}
  .tgd-unified-mobile-menu .tgd-menu-close{position:absolute!important;top:1.2rem!important;right:1.1rem!important;display:flex!important;align-items:center!important;justify-content:center!important;width:48px!important;height:48px!important;background:none!important;border:0!important;color:#f5f0e8!important;font:300 2rem/1 Montserrat,sans-serif!important;cursor:pointer!important}
  .wa-float{display:none!important}
  .sticky-mobile{padding-bottom:calc(.8rem + env(safe-area-inset-bottom))!important}
}
@media(max-width:900px){button.burger{display:flex!important}}

/* Readable content links, including browser visited states. */
.hero-quote-note a,.hero-quote-note a:visited,
main p a:not([class]),main p a:not([class]):visited,
section p a:not([class]),section p a:not([class]):visited,
article p a:not([class]),article p a:not([class]):visited,
a.p1-link,a.p1-link:visited{color:#d9b777!important;text-decoration:underline!important;text-underline-offset:3px}
.related-grid > a.related-card,.related-grid > a.related-card:visited,
.articles-grid > a.article-card,.articles-grid > a.article-card:visited,
.service-grid > a.service-card,.service-grid > a.service-card:visited{color:#f5f0e8!important;text-decoration:none!important}
a.hero-primary,a.hero-primary:visited{background:#c9a96e!important;color:#0b0b0b!important;text-decoration:none!important}
a.hero-secondary,a.hero-secondary:visited{color:#f5f0e8!important;text-decoration:none!important}

/* Center both lines of each action within its full clickable area. */
.hero-actions > a,.cta-actions > a,.cta-final-actions > a,
.actions > a,.p1-links > a.hero-primary,.p1-links > a.hero-secondary,
.content-inner > a.hero-primary,.content-inner > a.hero-secondary,
.hero-quote-submit{display:inline-flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;box-sizing:border-box!important}

/* One desktop navigation, including the three TGD divisions. */
body > nav.tgd-site-nav{height:80px!important;display:flex!important;align-items:center!important;gap:clamp(.8rem,2vw,2rem)!important;padding:0 4vw!important;background:rgba(10,10,10,.97)!important;border-bottom:1px solid rgba(201,169,110,.16)!important;z-index:210!important}
.tgd-site-nav > a:first-child{margin-right:auto!important;flex:none!important}
.tgd-site-nav > a:first-child img{height:46px!important;width:auto!important;max-width:min(36vw,280px)!important;object-fit:contain!important}
.tgd-site-nav .tgd-site-links{display:flex!important;align-items:center!important;gap:clamp(.65rem,1.3vw,1.5rem)!important;margin:0!important;padding:0!important;list-style:none!important}
.tgd-site-links > li{display:block!important;list-style:none!important;margin:0!important;padding:0!important}
.tgd-site-links a,.tgd-site-links a:visited{color:#e2dbd0!important;font:500 .68rem/1.3 Montserrat,sans-serif!important;letter-spacing:.09em!important;text-transform:uppercase!important;text-decoration:none!important;white-space:nowrap!important}
.tgd-site-links a:hover,.tgd-site-links a:focus-visible{color:#c9a96e!important}
.tgd-site-links .tgd-site-cta,.tgd-site-links .tgd-site-cta:visited{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:42px!important;padding:.6rem .85rem!important;background:#c9a96e!important;color:#0b0b0b!important;text-align:center!important}
.tgd-site-dropdown{position:relative!important;padding:28px 0!important;margin:-28px 0!important}
.tgd-site-submenu{display:none!important;position:absolute!important;top:100%!important;left:-1rem!important;min-width:200px!important;padding:.5rem!important;background:#111!important;border:1px solid rgba(201,169,110,.3)!important;box-shadow:0 15px 35px rgba(0,0,0,.5)!important}
.tgd-site-dropdown:hover .tgd-site-submenu,.tgd-site-dropdown:focus-within .tgd-site-submenu{display:grid!important;gap:0!important}
.tgd-site-submenu a{display:block!important;padding:.75rem .8rem!important;line-height:1.4!important}
@media(max-width:1100px){.tgd-site-nav .tgd-site-links{gap:.65rem!important}.tgd-site-links a{font-size:.62rem!important}}
@media(max-width:980px){.tgd-site-nav .tgd-site-links{display:none!important}.tgd-site-nav button.burger,.tgd-site-nav button.b2b-mobile-toggle{display:flex!important}.tgd-site-nav > a:first-child img{height:42px!important;max-width:65vw!important}}

/* Primary text must contrast with gold; secondary text must contrast with dark or gold. */
a.btn-primary,a.btn-primary:visited,a.primary,a.primary:visited,a.btn-gold,a.btn-gold:visited,a.b2b-primary,a.b2b-primary:visited,
.cta-actions a.btn-primary,.cta-actions a.btn-primary:visited,.cta-final-actions a.btn-primary,.cta-final-actions a.btn-primary:visited,
.cta-actions a.b2b-primary,.cta-actions a.b2b-primary:visited{color:#0b0b0b!important}
a.btn-ghost,a.btn-ghost:visited,a.secondary,a.secondary:visited,a.btn-outline,a.btn-outline:visited,a.b2b-secondary,a.b2b-secondary:visited{color:#f5f0e8!important}
.b2b-cta a.b2b-secondary,.b2b-cta a.b2b-secondary:visited,
section[style*="background:var(--gold)"] a.b2b-secondary{color:#111!important;border-color:#111!important}
.hero-actions > a,.cta-actions > a,.cta-final-actions > a,.b2b-actions > a,.inline-cta a{display:inline-flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;line-height:1.4!important;box-sizing:border-box!important;white-space:normal!important}
.service-grid{background:transparent!important;gap:1px!important}
.service-grid > .service-card{border:1px solid rgba(201,169,110,.13)!important}

.tgd-back-to-top{position:fixed;right:22px;bottom:92px;z-index:190;width:46px;height:46px;display:flex;align-items:center;justify-content:center;border:1px solid #c9a96e;background:#171614;color:#f5f0e8;font:400 1.7rem/1 Montserrat,sans-serif;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s,transform .2s,visibility .2s}
.tgd-back-to-top.is-visible{opacity:1;visibility:visible;transform:none}
.tgd-back-to-top:hover,.tgd-back-to-top:focus-visible{background:#c9a96e;color:#0b0b0b}
body.tgd-menu-is-open .tgd-back-to-top{display:none}
@media(max-width:980px){.tgd-back-to-top{right:12px;bottom:calc(82px + env(safe-area-inset-bottom))}}

/* Use the same strong Montserrat face for action buttons on every page. */
.hero-actions > a,.b2b-actions > a,.cta-actions > a,.cta-final-actions > a,
.actions > a,.inline-cta a,.p1-links > a.hero-primary,.p1-links > a.hero-secondary,
.content-inner > a.hero-primary,.content-inner > a.hero-secondary,
a.btn-primary,a.btn-ghost,a.btn-gold,a.btn-outline,a.primary,a.secondary,
a.b2b-primary,a.b2b-secondary,a.hero-primary,a.hero-secondary,
.tgd-site-links .tgd-site-cta,.tgd-unified-mobile-menu .tgd-menu-cta,
button.hero-quote-submit{
  font-family:Montserrat,sans-serif!important;
  font-weight:700!important;
}

/* One mobile contact bar on all active pages. */
.tgd-contact-mobile{display:none!important}
@media(max-width:980px){
  body.tgd-has-contact-mobile{padding-bottom:calc(68px + env(safe-area-inset-bottom))!important}
  .tgd-contact-mobile{
    position:fixed!important;inset:auto 0 0!important;z-index:200!important;
    display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;align-items:stretch!important;box-sizing:border-box!important;
    width:100%!important;height:auto!important;min-height:60px!important;margin:0!important;
    padding:6px 8px calc(6px + env(safe-area-inset-bottom))!important;
    background:#0a0a0a!important;border-top:1px solid rgba(201,169,110,.35)!important;
  }
  .tgd-contact-mobile a,.tgd-contact-mobile a:visited{
    display:flex!important;align-items:center!important;justify-content:center!important;
    min-width:0!important;min-height:48px!important;padding:6px 3px!important;
    box-sizing:border-box!important;text-decoration:none!important;text-align:center!important;
    background:#141414!important;border:1px solid rgba(201,169,110,.4)!important;
    color:#f5f0e8!important;font:700 clamp(.58rem,2.4vw,.72rem)/1.25 Montserrat,sans-serif!important;
    letter-spacing:.05em!important;text-transform:uppercase!important;
  }
  .tgd-contact-mobile a:last-child,.tgd-contact-mobile a:last-child:visited{
    background:#c9a96e!important;border-color:#c9a96e!important;color:#0b0b0b!important;
  }
  .tgd-contact-mobile a:focus-visible{outline:2px solid #f5f0e8!important;outline-offset:-4px!important}
  body.tgd-menu-is-open .tgd-contact-mobile{display:none!important}
}
