/* Executive Map visual system — 2026-09-09
   Adapts the institutional site to the approved information-organogram reference:
   ice canvas, white cards, navy structure, thin connectors and presentation-grade spacing. */

:root{
  --map-bg:#EFF5FA;
  --map-bg-2:#E6EEF6;
  --map-card:rgba(255,255,255,.86);
  --map-card-strong:rgba(255,255,255,.96);
  --map-line:rgba(19,56,108,.16);
  --map-line-strong:rgba(19,56,108,.34);
  --map-navy:#0E2A54;
  --map-blue:#285A96;
  --map-blue-2:#3C6FAE;
  --map-soft:#DCE8F4;
  --map-shadow:0 18px 48px rgba(19,56,108,.10);
  --map-radius:24px;
}

body{
  background:
    radial-gradient(circle at 8% 10%,rgba(60,111,174,.10),transparent 26rem),
    radial-gradient(circle at 88% 12%,rgba(40,90,150,.08),transparent 30rem),
    linear-gradient(180deg,#F8FBFE 0%,var(--map-bg) 46%,var(--map-bg-2) 100%)!important;
}

/* A presentation-like paper field without looking like a static slide. */
body::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-6;
  pointer-events:none;
  background:
    linear-gradient(125deg,rgba(60,111,174,.035) 0 16%,transparent 16% 100%),
    linear-gradient(310deg,rgba(19,56,108,.026) 0 14%,transparent 14% 100%);
}

/* Header resembles the reference: white card, navy information hierarchy. */
.site-header{
  background:rgba(250,253,255,.92)!important;
  border:1px solid rgba(19,56,108,.14)!important;
  box-shadow:0 14px 38px rgba(19,56,108,.12)!important;
  border-radius:24px!important;
}
.brand-name{color:var(--map-navy)!important}
.mega-nav .nav-trigger,
.mega-nav>a.nav-direct,
.header-actions .utility-link,
.header-actions .text-link{
  color:rgba(14,42,84,.76)!important;
}
.mega-nav .nav-trigger:hover,
.mega-nav>a.nav-direct:hover,
.mega-nav .nav-item.active>.nav-trigger,
.mega-nav>a.nav-direct.active{
  color:var(--map-navy)!important;
  background:rgba(40,90,150,.09)!important;
}

/* Main headings follow the infographic's dark-navy editorial tone. */
.home-hero h1,
.page-hero h1,
.web-section-head h2,
.page-section-head h2,
.company-panel h2,
.home-cta h2{
  color:var(--map-navy)!important;
  letter-spacing:-.045em!important;
}
.gradient-text,
.page-hero h1 span{
  background:linear-gradient(90deg,var(--map-navy),var(--map-blue),#4F84BF)!important;
  background-clip:text!important;
  -webkit-background-clip:text!important;
}
.hero-lead,
.page-hero-lead,
.web-section-head p,
.page-section-head p{
  color:rgba(14,42,84,.70)!important;
}

/* Hero: more centered, more "root node", like the visual reference. */
.home-hero{
  position:relative;
  grid-template-columns:minmax(0,.92fr) minmax(440px,.78fr)!important;
  gap:clamp(30px,4.6vw,72px)!important;
  padding-top:146px!important;
  padding-bottom:84px!important;
}
.home-hero::after{
  content:"";
  position:absolute;
  left:var(--site-gutter);
  right:var(--site-gutter);
  bottom:24px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(19,56,108,.28) 15%,rgba(19,56,108,.28) 85%,transparent);
}
.home-hero .hero-copy{
  position:relative;
  padding:clamp(28px,3vw,42px);
  border:1px solid rgba(19,56,108,.13);
  border-radius:28px;
  background:rgba(255,255,255,.74);
  box-shadow:var(--map-shadow);
  backdrop-filter:blur(16px);
}
.home-hero .hero-copy::before{
  content:"";
  position:absolute;
  left:50%;
  bottom:-26px;
  width:1px;
  height:26px;
  background:rgba(19,56,108,.28);
}
.home-hero .hero-copy::after{
  content:"";
  position:absolute;
  left:18%;
  right:18%;
  bottom:-27px;
  height:1px;
  background:rgba(19,56,108,.28);
}
.hero-proof{
  border-top:1px solid rgba(19,56,108,.10)!important;
}
.hero-proof div+div{
  border-left-color:rgba(19,56,108,.10)!important;
}

/* All primary content cards now resemble the organogram cards. */
.shortcut-card,
.web-card,
.segment-card,
.value-card,
.resource-card,
.directory-card,
.story-card,
.product-lane,
.contact-card,
.plan-card,
.faq-item,
.product-proof-card,
.company-panel,
.contact-direct-panel,
.hero-console,
.tech-panel,
.home-cta{
  border:1px solid rgba(19,56,108,.12)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.90),rgba(246,250,253,.78))!important;
  box-shadow:var(--map-shadow),inset 0 1px 0 rgba(255,255,255,.95)!important;
  border-radius:var(--map-radius)!important;
}

/* Stronger card labels, like section headers in the reference. */
.section-label,
.page-kicker,
.shortcut-card small,
.web-card small,
.resource-card small,
.directory-card small,
.contact-card small,
.story-card .number{
  color:var(--map-blue)!important;
  font-weight:850!important;
  letter-spacing:.10em!important;
}
.section-label::before,
.page-kicker::before{
  background:var(--map-blue)!important;
  box-shadow:none!important;
}

/* The home information map becomes the visual anchor of the site. */
.home-block.compact{
  position:relative;
  padding-top:74px!important;
  padding-bottom:88px!important;
}
.home-block.compact .web-section-head{
  position:relative;
  padding:28px 30px;
  border:1px solid rgba(19,56,108,.12);
  border-radius:24px;
  background:rgba(255,255,255,.72);
  box-shadow:var(--map-shadow);
}
.home-block.compact .web-section-head::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-32px;
  width:1px;
  height:32px;
  background:rgba(19,56,108,.28);
}
.info-map-grid{
  position:relative;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
  padding-top:40px;
}
.info-map-grid::before{
  content:"";
  position:absolute;
  left:7%;
  right:7%;
  top:18px;
  height:1px;
  background:rgba(19,56,108,.30);
}
.info-map-grid .shortcut-card{
  min-height:220px!important;
  padding:22px!important;
  overflow:visible!important;
}
.info-map-grid .shortcut-card::before{
  content:"";
  position:absolute;
  left:50%;
  top:-23px;
  width:1px;
  height:23px;
  background:rgba(19,56,108,.30);
}
.info-map-grid .shortcut-card::after{
  content:"↗"!important;
  right:18px!important;
  top:16px!important;
  color:var(--map-blue)!important;
  opacity:.75!important;
}
.info-map-grid .shortcut-card h3{
  margin-top:36px!important;
  color:var(--map-navy)!important;
}
.info-map-grid .shortcut-card p{
  color:rgba(14,42,84,.66)!important;
}
.info-map-grid .shortcut-card:hover{
  transform:translateY(-5px)!important;
  border-color:rgba(40,90,150,.30)!important;
  background:linear-gradient(180deg,#fff,#EDF5FB)!important;
  box-shadow:0 24px 52px rgba(19,56,108,.14)!important;
}

/* Section frames bring the "infographic panel" language across the whole site. */
.home-block,
.page-section{
  position:relative;
}
.home-block>.web-section-head,
.page-section>.page-section-head{
  padding-bottom:18px;
  border-bottom:1px solid rgba(19,56,108,.09);
}
.web-bento,
.segment-grid,
.resource-grid,
.company-strip,
.product-proof-grid,
.story-grid,
.product-lanes,
.directory-grid,
.faq-grid,
.contact-layout{
  position:relative;
}

/* Cards get small visual anchors, echoing diagram icons without heavy assets. */
.shortcut-card,
.segment-card,
.resource-card,
.directory-card{
  padding-top:24px!important;
}
.shortcut-card small::before,
.segment-card h3::before,
.resource-card small::before,
.directory-card small::before{
  content:"";
  display:inline-block;
  width:7px;
  height:7px;
  margin-right:8px;
  border-radius:50%;
  background:var(--map-blue-2);
  box-shadow:0 0 0 5px rgba(60,111,174,.08);
  vertical-align:middle;
}

/* Keep product UI mock intentionally darker, framed like an embedded product screen. */
.glass-card.terminal-card,
.proof-window{
  border-color:rgba(19,56,108,.16)!important;
  box-shadow:0 24px 55px rgba(19,56,108,.16)!important;
}

/* Internal page hero behaves as a structured header panel. */
.page-hero{
  position:relative;
}
.page-hero>div:first-child{
  padding:clamp(26px,3vw,40px);
  border:1px solid rgba(19,56,108,.12);
  border-radius:28px;
  background:rgba(255,255,255,.72);
  box-shadow:var(--map-shadow);
}
.page-hero::after{
  content:"";
  position:absolute;
  left:var(--site-gutter);
  right:var(--site-gutter);
  bottom:20px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(19,56,108,.16),transparent);
}

/* Footer follows the clean corporate base of the reference. */
.site-footer,
.page-footer{
  margin-top:30px!important;
  background:rgba(255,255,255,.42);
  border-top:1px solid rgba(19,56,108,.10)!important;
}
.footer-col strong{color:var(--map-navy)!important}
.footer-col a{color:rgba(14,42,84,.64)!important}
.footer-bottom{
  color:rgba(14,42,84,.54)!important;
  border-top-color:rgba(19,56,108,.08)!important;
}

/* CTA hierarchy from the reference: solid navy primary, ice secondary. */
.button:not(.button-ghost){
  background:linear-gradient(135deg,#2F67A7,#123B70 62%,#0B2A52)!important;
  border-color:rgba(14,42,84,.22)!important;
  color:#fff!important;
  box-shadow:0 12px 28px rgba(19,56,108,.18)!important;
}
.button.button-ghost{
  background:linear-gradient(180deg,#E7F0F8,#DCE8F4)!important;
  color:var(--map-navy)!important;
  border-color:rgba(19,56,108,.18)!important;
}

/* Mobile: preserve the organogram feel without squeezing content. */
@media(max-width:1180px){
  .info-map-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .info-map-grid::before{
    left:15%;
    right:15%;
  }
}
@media(max-width:760px){
  .home-hero{
    grid-template-columns:1fr!important;
    padding-top:112px!important;
  }
  .home-hero .hero-copy{
    padding:24px!important;
  }
  .home-hero .hero-copy::before,
  .home-hero .hero-copy::after,
  .home-hero::after{
    display:none;
  }
  .home-block.compact .web-section-head{
    padding:22px!important;
  }
  .home-block.compact .web-section-head::after{
    display:none;
  }
  .info-map-grid{
    grid-template-columns:1fr!important;
    padding-top:0!important;
  }
  .info-map-grid::before,
  .info-map-grid .shortcut-card::before{
    display:none;
  }
  .info-map-grid .shortcut-card{
    min-height:165px!important;
  }
  .page-hero>div:first-child{
    padding:22px!important;
  }
}


/* Scroll reveal restoration — ghost entrance */
@media (prefers-reduced-motion: no-preference){
  .reveal{
    opacity:0;
    transform:translateY(30px) scale(.985);
    filter:blur(4px);
    transition:
      opacity .72s cubic-bezier(.2,.8,.2,1),
      transform .78s cubic-bezier(.2,.8,.2,1),
      filter .68s ease;
  }
  .reveal.visible{
    opacity:1;
    transform:translateY(0) scale(1);
    filter:blur(0);
  }
}


/* Global card system v2 — approved light-blue standard — 2026-09-09
   Keeps the page canvas untouched and differentiates every information surface. */
:root{
  --card-blue:#D7E5F3;
  --card-blue-deep:#CDDEEF;
  --card-blue-hover:#C7DAEC;
  --card-line:rgba(40,90,150,.22);
  --card-line-hover:rgba(19,56,108,.34);
  --card-title:#102A58;
  --card-copy:#294A75;
  --card-label:#285A96;
  --card-icon:#1F5798;
  --card-icon-bg:rgba(232,241,250,.82);
  --card-shadow:0 16px 38px rgba(19,56,108,.10);
}

/* Modern, local-first technological type stack — no extra webfont payload. */
body,
button,
input,
select,
textarea{
  font-family:Inter,"Segoe UI Variable","SF Pro Display","SF Pro Text",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  font-variation-settings:"wght" 520;
}
h1,h2,h3,h4,
.brand-name,
.section-label,
.page-kicker,
.shortcut-card small,
.web-card small,
.resource-card small,
.directory-card small,
.contact-card small,
.story-card .number{
  font-family:Inter,"Segoe UI Variable","SF Pro Display",ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
}

/* Information cards: a distinct, slightly deeper ice-blue on the same light canvas. */
.shortcut-card,
.web-card,
.segment-card,
.value-card,
.resource-card,
.directory-card,
.story-card,
.product-lane,
.contact-card,
.plan-card,
.faq-item,
.product-proof-card,
.company-panel,
.contact-direct-panel,
.hero-console,
.tech-panel,
.home-cta,
.pain-card,
.feature,
.eco-card,
.timeline-item{
  background:linear-gradient(155deg,var(--card-blue) 0%,var(--card-blue-deep) 100%)!important;
  border:1px solid var(--card-line)!important;
  box-shadow:var(--card-shadow),inset 0 1px 0 rgba(255,255,255,.58)!important;
}

/* Hierarchy inside cards. */
.shortcut-card h3,
.web-card h3,
.segment-card h3,
.value-card strong,
.resource-card h3,
.directory-card h3,
.story-card h3,
.product-lane h3,
.contact-card h3,
.plan-card .plan-top span,
.faq-item h3,
.product-proof-card .proof-top>span,
.company-panel h2,
.contact-direct-panel h3,
.pain-card h3,
.feature h3,
.eco-card h3,
.timeline-item h3,
.hero-console strong{
  color:var(--card-title)!important;
  font-weight:820!important;
  letter-spacing:-.025em!important;
}

.shortcut-card p,
.web-card p,
.segment-card p,
.value-card span,
.resource-card p,
.directory-card p,
.story-card p,
.product-lane p,
.product-lane li,
.contact-card p,
.plan-card>p,
.plan-feature-list,
.faq-item p,
.product-proof-card>p,
.company-panel p,
.contact-direct-panel p,
.pain-card p,
.feature p,
.eco-card p,
.timeline-item p{
  color:var(--card-copy)!important;
  font-weight:580!important;
  letter-spacing:-.006em!important;
}

.shortcut-card small,
.web-card small,
.resource-card small,
.directory-card small,
.contact-card small,
.story-card .number,
.lane-tag,
.plan-top small,
.console-label,
.console-node small{
  color:var(--card-label)!important;
  font-weight:780!important;
}

/* Consistent hover state: slightly deeper blue, never dark. */
.shortcut-card:hover,
.web-card:hover,
.segment-card:hover,
.value-card:hover,
.resource-card:hover,
.directory-card:hover,
.story-card:hover,
.product-lane:hover,
.contact-card:hover,
.plan-card:hover,
.faq-item:hover,
.product-proof-card:hover{
  background:linear-gradient(155deg,#D0E1F1 0%,var(--card-blue-hover) 100%)!important;
  border-color:var(--card-line-hover)!important;
  box-shadow:0 20px 44px rgba(19,56,108,.14),inset 0 1px 0 rgba(255,255,255,.65)!important;
}

/* Tech icon language: outlined icon inside a soft circular badge. */
.info-map-grid .shortcut-card{
  padding-right:76px!important;
}
.info-map-grid .shortcut-card::after{
  content:""!important;
  position:absolute!important;
  right:18px!important;
  top:17px!important;
  width:40px!important;
  height:40px!important;
  border-radius:50%!important;
  background-color:var(--card-icon-bg)!important;
  border:1px solid rgba(40,90,150,.12)!important;
  opacity:1!important;
  transform:none!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:21px 21px!important;
}

/* Home */
.info-map-grid .shortcut-card:nth-child(1)::after{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F5798' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 11 9-8 9 8'/%3E%3Cpath d='M5 10v10h14V10'/%3E%3C/svg%3E")!important;
}
/* Produto */
.info-map-grid .shortcut-card:nth-child(2)::after{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F5798' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 3 8 4.5v9L12 21l-8-4.5v-9L12 3Z'/%3E%3Cpath d='m4.5 7.8 7.5 4.3 7.5-4.3M12 12.1V21'/%3E%3C/svg%3E")!important;
}
/* Soluções */
.info-map-grid .shortcut-card:nth-child(3)::after{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F5798' stroke-width='1.9' stroke-linecap='round'%3E%3Crect x='3' y='3' width='7' height='7' rx='1.5'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1.5'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1.5'/%3E%3Crect x='14' y='14' width='7' height='7' rx='1.5'/%3E%3C/svg%3E")!important;
}
/* Planos */
.info-map-grid .shortcut-card:nth-child(4)::after{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F5798' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 13 12 21 3 12V4h8l9 9Z'/%3E%3Ccircle cx='7.5' cy='8.5' r='1'/%3E%3C/svg%3E")!important;
}
/* Empresa */
.info-map-grid .shortcut-card:nth-child(5)::after{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F5798' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 21V6l8-3 8 3v15'/%3E%3Cpath d='M8 9h1M8 13h1M8 17h1M15 9h1M15 13h1M15 17h1M3 21h18'/%3E%3C/svg%3E")!important;
}
/* Conteúdo */
.info-map-grid .shortcut-card:nth-child(6)::after{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F5798' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h9l3 3v15H6z'/%3E%3Cpath d='M15 3v4h4M9 11h6M9 15h6'/%3E%3C/svg%3E")!important;
}
/* Ajuda */
.info-map-grid .shortcut-card:nth-child(7)::after{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F5798' stroke-width='1.9' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M9.8 9a2.5 2.5 0 1 1 3.6 2.25c-.9.48-1.4 1-1.4 2M12 17h.01'/%3E%3C/svg%3E")!important;
}
/* Contato */
.info-map-grid .shortcut-card:nth-child(8)::after{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231F5798' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m4 7 8 6 8-6'/%3E%3C/svg%3E")!important;
}

/* Existing symbol/icon surfaces follow the same badge language. */
.segment-card>span,
.status-icon,
.pain-icon,
.feature-symbol,
.eco-tag{
  background:var(--card-icon-bg)!important;
  color:var(--card-icon)!important;
  border:1px solid rgba(40,90,150,.14)!important;
  box-shadow:none!important;
}

/* Keep the intentionally dark embedded PDV/proof screens unchanged. */
.glass-card.terminal-card,
.proof-window{
  background:linear-gradient(145deg,rgba(16,25,38,.96),rgba(8,13,20,.92))!important;
}

/* Mobile remains readable and touch-friendly. */
@media(max-width:760px){
  .info-map-grid .shortcut-card{
    padding-right:68px!important;
  }
  .info-map-grid .shortcut-card::after{
    width:36px!important;
    height:36px!important;
    right:15px!important;
    top:15px!important;
    background-size:19px 19px!important;
  }
}
