/* Vinhosa IA — shared interaction layer\n   Centraliza microinterações para manter home e páginas internas coerentes. */
:root{--fx-blue:#2451ff;--fx-ink:#0b1220;--fx-line:#e6e9ef;--fx-soft:#f7f9fc}
html{scroll-behavior:smooth}
header{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
a,button{-webkit-tap-highlight-color:transparent}
.btn{transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease,color .18s ease}
.btn:hover{transform:translateY(-1px)}
.btn-blue:hover{box-shadow:0 10px 26px rgba(36,81,255,.20)}
.btn-dark:hover{box-shadow:0 10px 24px rgba(11,18,32,.16)}
.btn-outline:hover,.btn-light:hover{box-shadow:0 8px 20px rgba(17,24,39,.07);border-color:#c7cfdb}
.navlinks a,.footer-links a,.project-link,.link{transition:color .18s ease,opacity .18s ease}
.navlinks a:hover{color:var(--blue,var(--fx-blue))}
.footer-links a:hover,.project-link:hover,.link:hover{opacity:.72}

/* Superfícies interativas — elevação contida, como na home */
.format-card,.method-card,.project,.outcome,.application,.role-item,.pillar,.front,.manifesto-item,.topic,.challenge,.scale-card{
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease;
}
.format-card:hover,.method-card:hover,.project:hover,.outcome:hover,.application:hover,.role-item:hover,.pillar:hover,.front:hover,.manifesto-item:hover,.topic:hover,.challenge:hover,.scale-card:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 48px rgba(17,24,39,.07);
  border-color:#d9dfe8;
}
.format-card.featured:hover,.method-card.final:hover{box-shadow:0 20px 52px rgba(11,18,32,.16)}

/* Listas editoriais: efeito lateral em vez de virar card */
.list-item{transition:border-color .18s ease,padding-left .18s ease}
.list-item:hover{border-color:#cbd4e2;padding-left:8px}

/* Painéis escuros ganham profundidade coerente com a home */
.method-panel,.principle-panel,.section-dark,.cta{
  position:relative;
  overflow:hidden;
}
.method-panel::after,.principle-panel::after,.section-dark::after,.cta::after{
  content:"";position:absolute;right:-180px;top:-220px;width:460px;height:460px;border-radius:50%;
  background:radial-gradient(circle,rgba(36,81,255,.16) 0%,rgba(36,81,255,.055) 38%,transparent 70%);
  pointer-events:none;
}
.method-panel>*,.principle-panel>*,.section-dark>*,.cta>*{position:relative;z-index:1}

/* Acessibilidade */
a:focus-visible,button:focus-visible{outline:3px solid rgba(36,81,255,.20);outline-offset:3px}

/* Entrada sutil de conteúdo. JS só ativa quando IntersectionObserver existe. */
.fx-ready .fx-reveal{opacity:0;transform:translateY(12px);transition:opacity .48s ease,transform .48s ease}
.fx-ready .fx-reveal.fx-visible{opacity:1;transform:none}
.fx-ready .fx-reveal:nth-child(2){transition-delay:.035s}
.fx-ready .fx-reveal:nth-child(3){transition-delay:.07s}
.fx-ready .fx-reveal:nth-child(4){transition-delay:.105s}

@media(max-width:700px){
  .format-card:hover,.method-card:hover,.project:hover,.outcome:hover,.application:hover,.role-item:hover,.pillar:hover,.front:hover,.manifesto-item:hover,.topic:hover,.challenge:hover,.scale-card:hover{transform:none;box-shadow:none}
  .list-item:hover{padding-left:0}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
  .fx-ready .fx-reveal{opacity:1!important;transform:none!important}
}
