/* ==========================================================================
   ELO por Fernanda Perez | Gestão Hospitalar com Prática e Direção
   Sistema visual baseado no brandbook: paleta, tipografia, símbolo, grão,
   padrão, conectores com pontos, pílulas e rabisco à mão.
   ========================================================================== */

@font-face {
  font-family: "Jost";
  src: url("fonts/jost-latin-wght-normal.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Jost";
  src: url("fonts/jost-latin-wght-italic.woff2") format("woff2");
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Italiana";
  src: url("fonts/italiana-latin-400-normal.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

:root {
  /* paleta do brandbook */
  --navy: #18314f;
  --navy-deep: #0f2239;
  --vinho: #630621;
  --vinho-hover: #7a0b2b;
  --azul: #9cc5d2;
  --nevoa: #dbe6eb;
  --white: #ffffff;

  --body: #2a3d54;
  --muted: #4b5f75;
  --line: #c4d3db;
  --line-dark: rgba(156, 197, 210, 0.3);

  --sans: "Jost", "Century Gothic", "Avenir Next", "Segoe UI", system-ui, sans-serif;
  --display: "Italiana", "Bodoni MT", Didot, Georgia, serif;

  --wrap: 1120px;
  --gutter: clamp(20px, 5vw, 48px);
  --section: clamp(56px, 7.5vw, 100px);
  --header-h: 76px;
  --radius: 20px;

  --pat-dark: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjAiIGhlaWdodD0iMTIwIiB2aWV3Qm94PSIwIDAgMTIwIDEyMCI+PGcgaWQ9InMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMwIDMwKSByb3RhdGUoLTMyKSBzY2FsZSgwLjM2NTUpIHRyYW5zbGF0ZSgtNDAuNiAtOTAuMykiPjxwYXRoIGZpbGw9IiNEQkU2RUIiIGZpbGwtb3BhY2l0eT0iMC4wNTUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTguMywxMDEuNkM2LjksMTAxLjIgNywxMDMgNyw4Mi45QzcuMSw2Ni42IDcuMSw2NSA3LjQsNjQuMkM3LjksNjIuOSA4LDYyLjUgOC4yLDYwLjhDOC40LDU5LjcgOC43LDU4LjkgOC45LDU4LjVDOS4yLDU4LjEgOS4zLDU3LjYgOS4zLDU3LjNDOS4zLDU3IDkuNiw1Ni4zIDkuOSw1NS42QzEwLjIsNTUgMTAuNiw1NCAxMC43LDUzLjZDMTAuOSw1My4xIDExLjIsNTIuNiAxMS40LDUyLjRDMTEuNyw1Mi4xIDExLjgsNTEuOSAxMS44LDUxLjdDMTEuOCw1MS4zIDEzLjEsNDkuMiAxMy44LDQ4LjVDMTQuMSw0OC4yIDE0LjQsNDcuNyAxNC43LDQ3LjNDMTUuMyw0Ni4zIDE5LjYsNDIuMyAyMC42LDQxLjdDMjAuOSw0MS41IDIxLjUsNDEuMSAyMiw0MC43QzIyLjUsNDAuMyAyMy4xLDM5LjkgMjMuMiwzOS44QzIzLjQsMzkuNyAyNCwzOS40IDI0LjYsMzkuMUMyNS4xLDM4LjggMjUuOSwzOC40IDI2LjMsMzguMUMyNi44LDM4IDI3LjMsMzcuNyAyNy42LDM3LjVDMjcuOSwzNy40IDI4LjIsMzcuMiAyOC4zLDM3LjFDMjguNSwzNy4xIDI5LDM2LjkgMjkuNSwzNi44QzMwLDM2LjYgMzAuNiwzNi40IDMwLjgsMzYuM0MzMC45LDM2LjMgMzEuNCwzNi4xIDMxLjcsMzUuOUMzMiwzNS44IDMyLjUsMzUuNyAzMi45LDM1LjdDMzMuNSwzNS43IDM1LjYsMzUuMiAzNi4zLDM1QzM3LjIsMzQuNiA0My42LDM0LjggNDUuMSwzNS4yQzQ1LjgsMzUuNCA0NywzNS42IDQ3LjgsMzUuNkM0OC43LDM1LjcgNDkuNSwzNS45IDUwLjUsMzYuM0M1MS4zLDM2LjYgNTIuMiwzNi45IDUyLjYsMzdDNTIuOSwzNyA1My41LDM3LjIgNTMuOCwzNy40QzU0LjEsMzcuNiA1NC43LDM3LjkgNTUuMSwzOEM1NS41LDM4LjEgNTYsMzguNCA1Ni4zLDM4LjVDNTYuNiwzOC43IDU3LjMsMzkuMSA1Ny44LDM5LjRDNTguMywzOS43IDU4LjgsNDAgNTguOSw0MC4xQzU5LDQwLjIgNTkuMSw0MC4zIDU5LjIsNDAuM0M1OS4zLDQwLjMgNTkuOCw0MC42IDYwLjIsNDFDNjAuNyw0MS40IDYxLjIsNDEuOCA2MS40LDQxLjlDNjIuNCw0Mi43IDYzLjMsNDMuNCA2My45LDQ0LjFDNjUuMSw0NS40IDY1LjksNDYuMiA2Ni4yLDQ2LjdDNjYuMyw0Ni45IDY2LjYsNDcuMyA2Ni44LDQ3LjVDNjcuNiw0OC40IDY5LjQsNTAuOSA2OS43LDUxLjZDNjkuOCw1MiA3MC4yLDUyLjYgNzAuNCw1M0M3MC42LDUzLjMgNzAuOCw1My43IDcwLjgsNTMuOUM3MC44LDU0LjEgNzEuMSw1NC43IDcxLjQsNTUuNEM3MS43LDU2IDcyLDU2LjggNzIuMSw1Ny4yQzcyLjIsNTguMyA3Mi41LDU5LjYgNzIuNyw1OS44QzczLDYwLjEgNzMuMyw2Mi4xIDczLjMsNjMuMkM3My4zLDY0IDczLjUsNjUgNzMuOCw2Ni4xQzc0LjQsNjguOCA3NC4yLDcwLjMgNzMsNzEuMkM3MS45LDcyIDcxLjcsNzEuNCA3MS4zLDY1LjhDNzEuMiw2NS4zIDcxLDY0LjUgNzAuOCw2My45QzcwLjcsNjMuNCA3MC41LDYyLjggNzAuNSw2Mi42QzcwLjUsNjIgNjkuOSw1OS40IDY5LjYsNTguOEM2OS41LDU4LjYgNjkuMiw1Ny45IDY5LjEsNTcuNEM2OC45LDU2LjkgNjguNiw1Ni4xIDY4LjQsNTUuOEM2OC4yLDU1LjQgNjgsNTQuOCA2Ny44LDU0LjRDNjcuNyw1NCA2Ny41LDUzLjUgNjcuMyw1My40QzY3LjIsNTMuMiA2Ni45LDUyLjcgNjYuNyw1Mi4zQzY1LjIsNDkuNSA2MS44LDQ1LjYgNTkuMSw0My43QzU4LjQsNDMuMiA1Ny40LDQyLjQgNTcsNDJDNTYuMSw0MS4yIDU0LjEsMzkuOCA1My44LDM5LjhDNTMuNywzOS44IDUzLjEsMzkuNiA1Mi42LDM5LjJDNTIsMzguOSA1MSwzOC42IDUwLjQsMzguNEM0OS44LDM4LjMgNDkuMSwzOCA0OSwzNy45QzQ4LjUsMzcuNCA0Ny40LDM3LjMgNDIuNCwzNy40QzM3LjcsMzcuNCAzNS42LDM3LjUgMzUuMiwzNy44QzM1LjEsMzcuOSAzNC40LDM4LjEgMzMuNywzOC4zQzMxLjgsMzguOCAzMS42LDM4LjkgMjkuMiw0MEMyNy4yLDQxIDI0LjMsNDIuOCAyNC4zLDQzQzI0LjMsNDMuMSAyNC4yLDQzLjIgMjQuMSw0My4yQzI0LDQzLjIgMjMuNiw0My41IDIzLjIsNDMuOUMyMi45LDQ0LjMgMjIuMyw0NC44IDIxLjksNDUuMUMyMS42LDQ1LjQgMjEuMiw0NS44IDIxLjEsNDZDMjEsNDYuMiAyMC40LDQ2LjkgMTkuOCw0Ny41QzE5LjMsNDguMSAxOC44LDQ4LjYgMTguOCw0OC43QzE4LjgsNDguOCAxOC43LDQ5LjEgMTguNCw0OS40QzE4LjIsNDkuNyAxOCw1MCAxNy45LDUwLjJDMTcuOSw1MC4zIDE3LjUsNTAuOSAxNy4yLDUxLjZDMTYsNTMuNyAxNSw1NS44IDE1LDU2LjJDMTUsNTYuNCAxNC45LDU2LjUgMTQuOCw1Ni42QzE0LjcsNTYuNiAxNC43LDU2LjggMTQuNyw1N0MxNC43LDU3LjEgMTQuNSw1Ny42IDE0LjIsNTguMUMxNCw1OC41IDEzLjgsNTkuMiAxMy44LDU5LjVDMTMuOCw2MC4xIDEzLjUsNjEuNSAxMyw2My4yQzEyLjYsNjQuMiAxMi42LDY0LjUgMTIuNSw4MC4xTDEyLjUsOTZMMTIuOSw5Ni4yQzEzLjIsOTYuNCAxNi44LDk2LjQgMzIuOCw5Ni40QzQzLjUsOTYuNCA1Mi40LDk2LjUgNTIuNiw5Ni41QzUyLjgsOTYuNiA1My4yLDk3IDUzLjQsOTcuNEM1My45LDk4IDUzLjksOTguMiA1My45LDk5LjVDNTMuOSwxMDEuNCA1My44LDEwMS41IDUyLDEwMS42QzQ2LjgsMTAxLjggOC44LDEwMS44IDguMywxMDEuNlpNMzguOSwyOC4zQzM4LjcsMjguMyAzOC40LDI4LjEgMzguMSwyOC4xQzM3LjYsMjggMzYuMSwyNi45IDM1LjUsMjYuNEMzNC4zLDI1IDMzLjcsMjIuNiAzNC4yLDIwLjdDMzQuNywxOC42IDM1LjcsMTcuMyAzNy43LDE2LjNDNDAuOCwxNC43IDQ0LjcsMTYuMSA0Ni4zLDE5LjNDNDYuOSwyMC42IDQ3LDIzLjUgNDYuMywyNC43QzQ1LjQsMjYuNiA0NC4yLDI3LjYgNDIuMywyOC4yQzQxLjUsMjguNSAzOS41LDI4LjYgMzguOSwyOC4zWiIvPjxwYXRoIGZpbGw9IiNEQkU2RUIiIGZpbGwtb3BhY2l0eT0iMC4wNTUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTM3LjksMTY1LjRDMzMuNywxNjQuMSAzMi4yLDE1OSAzNSwxNTUuNUMzOC4xLDE1MS43IDQ0LjIsMTUzIDQ1LjcsMTU3LjdDNDYuNiwxNjAuNSA0NS4zLDE2My42IDQyLjcsMTY1QzQxLjQsMTY1LjcgMzkuMywxNjUuOSAzNy45LDE2NS40Wk0zOC4xLDE0Ny4xQzM3LjgsMTQ3IDM2LjksMTQ2LjggMzYsMTQ2LjdDMzUuMSwxNDYuNSAzMy44LDE0Ni4zIDMzLjEsMTQ2LjJDMzIuMiwxNDYuMSAzMS40LDE0NS45IDMwLjgsMTQ1LjZDMzAuMywxNDUuNCAyOS41LDE0NS4xIDI5LDE0NUMyOC41LDE0NC45IDI3LjgsMTQ0LjYgMjcuNSwxNDQuNEMyNy4yLDE0NC4yIDI2LjgsMTQ0IDI2LjcsMTQ0QzI2LjUsMTQ0IDI2LjIsMTQzLjkgMjQuNywxNDMuMUMyMy42LDE0Mi42IDIxLjgsMTQxLjMgMjEuNSwxNDFDMjEuNCwxNDAuOCAyMS4yLDE0MC43IDIxLjEsMTQwLjdDMjAuNiwxNDAuNyAxNy4xLDEzNy4yIDE2LDEzNS43QzE1LjgsMTM1LjMgMTUuNCwxMzQuOSAxNS4zLDEzNC43QzE0LjMsMTMzLjggMTMuMSwxMzIgMTIuNywxMzFDMTIuNSwxMzAuNiAxMi4yLDEzMC4xIDEyLjEsMTMwQzExLjksMTI5LjggMTEuNywxMjkuMiAxMS40LDEyOC43QzExLjIsMTI4LjEgMTAuOSwxMjcuMiAxMC43LDEyNi44QzEwLjUsMTI2LjQgMTAuMywxMjUuNyAxMC4yLDEyNS4yQzEwLjIsMTI0LjggMTAsMTIzLjkgOS43LDEyMy4yQzkuNSwxMjIuNiA5LjIsMTIxLjIgOS4yLDEyMC4zQzkuMSwxMTkuNCA4LjksMTE4IDguNywxMTcuM0M4LjYsMTE2LjcgOC40LDExNS40IDguNCwxMTQuNkw4LjQsMTEzLjJMOS4xLDExMi41QzEwLjMsMTExLjIgMTAuNiwxMTEuNyAxMC45LDExNS40QzExLjEsMTE2LjkgMTEuMywxMTguNCAxMS40LDExOC43QzExLjYsMTE5LjIgMTIsMTIwLjkgMTIuMywxMjIuOEMxMi4zLDEyMy4xIDEyLjUsMTIzLjYgMTIuNywxMjMuOUMxMi44LDEyNC4yIDEzLjEsMTI0LjggMTMuMiwxMjUuMkMxMy41LDEyNi41IDE1LjQsMTMwLjQgMTYuMywxMzEuNEMxNi41LDEzMS42IDE2LjcsMTMyIDE2LjcsMTMyLjFDMTYuNywxMzIuMiAxNywxMzIuNyAxNy40LDEzMy4xQzE3LjgsMTMzLjYgMTguNCwxMzQuMyAxOC43LDEzNC43QzE5LjksMTM2LjIgMjEuNSwxMzcuNiAyNS43LDE0MC44QzI2LjEsMTQxLjEgMjYuNiwxNDEuNSAyNi45LDE0MS43QzI3LjEsMTQxLjkgMjcuOCwxNDIuMiAyOC4zLDE0Mi40QzI4LjgsMTQyLjYgMjkuNCwxNDIuOSAyOS43LDE0M0MyOS45LDE0My4yIDMwLjYsMTQzLjUgMzEuMSwxNDMuNkMzMS43LDE0My43IDMyLjQsMTQ0IDMyLjcsMTQ0LjJDMzMuMiwxNDQuNiAzMy4yLDE0NC42IDM4LjgsMTQ0LjZDNDQuMywxNDQuNSA0NC40LDE0NC41IDQ1LjYsMTQ0LjFDNDYuMiwxNDMuOSA0Ny4zLDE0My42IDQ4LDE0My40QzQ4LjcsMTQzLjMgNDkuNSwxNDMgNDkuOCwxNDIuOUM1MCwxNDIuNyA1MC42LDE0Mi40IDUxLjEsMTQyLjJDNTEuNSwxNDIuMSA1Mi4yLDE0MS43IDUyLjcsMTQxLjVDNTMuMSwxNDEuMiA1My41LDE0MSA1My41LDE0MUM1My42LDE0MSA1NCwxNDAuOCA1NC4zLDE0MC42QzU0LjYsMTQwLjMgNTUuMywxMzkuOCA1NS44LDEzOS40QzU4LjUsMTM3LjUgNjEuNSwxMzQgNjMuMSwxMzAuOUM2My40LDEzMC40IDYzLjcsMTI5LjggNjMuOCwxMjkuNkM2NC4zLDEyOC42IDY1LjEsMTI2LjcgNjUuMiwxMjYuM0M2NS4zLDEyNiA2NS41LDEyNS40IDY1LjgsMTI0LjlDNjYsMTI0LjQgNjYuMiwxMjMuOSA2Ni4yLDEyMy44QzY2LjIsMTIzLjMgNjYuNywxMjEgNjcsMTE5LjlDNjcuMywxMTguOSA2Ny4zLDExNy45IDY3LjUsMTA2LjlDNjcuNyw5NC41IDY3LjcsODguNiA2Ny41LDg4LjJDNjcuMyw4OCA2Myw4OCA0Ni41LDg4QzM1LjEsODggMjIuOCw4OCAxOS4xLDg3LjlMMTIuNSw4Ny44TDEyLjUsODUuM0wxMi41LDgyLjhMMzIuOSw4Mi44QzY0LjUsODIuNyA3MS42LDgyLjggNzIuMSw4M0M3Mi44LDgzLjMgNzIuOCw4My41IDcyLjgsOTkuNUM3Mi44LDExNS41IDcyLjcsMTE4LjIgNzIuMiwxMTkuOEM3MiwxMjAuNCA3MS44LDEyMS40IDcxLjcsMTIyLjFDNzEuNSwxMjIuOCA3MS4yLDEyMy45IDcxLDEyNC41QzcwLjcsMTI1LjEgNzAuNSwxMjUuOCA3MC41LDEyNkM3MC41LDEyNi4xIDcwLjIsMTI2LjggNjkuOSwxMjcuNEM2OS42LDEyOC4xIDY5LjMsMTI4LjcgNjkuMywxMjguOEM2OS4zLDEyOSA2OS4yLDEyOS40IDY5LDEyOS43QzY4LjcsMTMwIDY4LjIsMTMwLjkgNjcuOCwxMzEuN0M2Ny40LDEzMi41IDY2LjgsMTMzLjMgNjYuNiwxMzMuNUM2Ni40LDEzMy43IDY2LDEzNC4yIDY1LjgsMTM0LjdDNjQuOSwxMzYuMSA2MS4zLDEzOS41IDU5LjQsMTQwLjdDNTksMTQxIDU4LjYsMTQxLjMgNTguMywxNDEuNUM1Ny4zLDE0Mi4yIDU2LjQsMTQyLjggNTYsMTQyLjlDNTUuOCwxNDMgNTUuNCwxNDMuMiA1NS4yLDE0My40QzU1LDE0My41IDU0LjUsMTQzLjggNTQsMTQ0QzUzLjYsMTQ0LjIgNTMsMTQ0LjQgNTIuNywxNDQuNkM1Mi41LDE0NC44IDUxLjksMTQ1IDUxLjYsMTQ1LjFDNTEuMiwxNDUuMiA1MC41LDE0NS40IDQ5LjksMTQ1LjdDNDkuMywxNDUuOSA0OC40LDE0Ni4yIDQ3LjgsMTQ2LjNDNDcuMiwxNDYuMyA0NiwxNDYuNiA0NSwxNDYuOEM0My40LDE0Ny4yIDQwLDE0Ny4zIDM4LjEsMTQ3LjFaTTQ5LjUsMTAxLjdDNTAuOSwxMDEuNiA1MiwxMDEuNiA1Mi4xLDEwMS43QzUyLjIsMTAxLjggNTEuMiwxMDEuOCA0OS43LDEwMS44TDQ3LjEsMTAxLjhMNDkuNSwxMDEuN1pNNy4xLDEwMS4yQzYuOCwxMDAuOSA2LjgsOTkuNyA2LjksODUuOUw2LjksNzAuOUw3LDg1LjlDNyw5OS45IDcsMTAwLjkgNy4zLDEwMS4xQzcuNSwxMDEuMiA3LjUsMTAxLjMgNy41LDEwMS40QzcuNCwxMDEuNSA3LjMsMTAxLjQgNy4xLDEwMS4yWk01My44LDk4LjJDNTMuOCw5Ny43IDUzLDk2LjcgNTIuNSw5Ni41QzUyLjIsOTYuNCA1Miw5Ni4zIDUyLDk2LjJDNTIuMiw5Ni4xIDUzLjEsOTYuNiA1My41LDk3LjFDNTMuOSw5Ny42IDU0LjEsOTguMyA1My45LDk4LjVDNTMuOSw5OC41IDUzLjgsOTguNCA1My44LDk4LjJaTTE2LjksOTYuNEMxNy41LDk2LjMgMTguNSw5Ni4zIDE5LjEsOTYuNEMxOS43LDk2LjQgMTkuMiw5Ni40IDE4LDk2LjRDMTYuOCw5Ni40IDE2LjMsOTYuNCAxNi45LDk2LjRaTTM0LjIsOTYuM0MzNC4yLDk2LjIgMzcuNiw5Ni4yIDQzLDk2LjJDNDcuOSw5Ni4yIDUxLjgsOTYuMiA1MS44LDk2LjNDNTEuNiw5Ni40IDM0LjQsOTYuNSAzNC4yLDk2LjNaTTcxLjYsNzAuOEM3MS42LDcwLjYgNzEuNSw3MCA3MS40LDY5LjVMNzEuMyw2OC40TDcxLjYsNjkuN0M3MS44LDcwLjkgNzEuOCw3MS4zIDcxLjYsNzAuOFpNMzMuOCwzOC4zQzM0LDM4LjIgMzQuMiwzOC4yIDM0LjMsMzguMkMzNC41LDM4LjIgMzQuOCwzOCAzNS4xLDM3LjlDMzUuNiwzNy42IDM1LjcsMzcuNiAzNS43LDM3LjhDMzUuNywzNy45IDM1LjMsMzguMSAzNC44LDM4LjJDMzMuOCwzOC41IDMzLjUsMzguNiAzMy44LDM4LjNaTTM2LjYsMzcuNUMzNy41LDM3LjMgMzguNSwzNy4zIDM4LjYsMzcuNUMzOC42LDM3LjYgMzguMiwzNy43IDM3LjMsMzcuNkMzNi4xLDM3LjYgMzYsMzcuNiAzNi42LDM3LjVaTTM3LjksMzQuN0MzNy45LDM0LjYgMzguNCwzNC41IDM5LjQsMzQuNUM0MC40LDM0LjUgNDEsMzQuNiA0MC45LDM0LjdDNDAuOSwzNC44IDQwLjIsMzQuOCAzOS40LDM0LjhDMzguNiwzNC44IDM4LDM0LjggMzcuOSwzNC43WiIvPjwvZz48dXNlIGhyZWY9IiNzIiB4PSI2MCIgeT0iNjAiLz48L3N2Zz4=");
  --pat-light: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjAiIGhlaWdodD0iMTIwIiB2aWV3Qm94PSIwIDAgMTIwIDEyMCI+PGcgaWQ9InMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMwIDMwKSByb3RhdGUoLTMyKSBzY2FsZSgwLjM2NTUpIHRyYW5zbGF0ZSgtNDAuNiAtOTAuMykiPjxwYXRoIGZpbGw9IiMxODMxNEYiIGZpbGwtb3BhY2l0eT0iMC4xNiIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNOC4zLDEwMS42QzYuOSwxMDEuMiA3LDEwMyA3LDgyLjlDNy4xLDY2LjYgNy4xLDY1IDcuNCw2NC4yQzcuOSw2Mi45IDgsNjIuNSA4LjIsNjAuOEM4LjQsNTkuNyA4LjcsNTguOSA4LjksNTguNUM5LjIsNTguMSA5LjMsNTcuNiA5LjMsNTcuM0M5LjMsNTcgOS42LDU2LjMgOS45LDU1LjZDMTAuMiw1NSAxMC42LDU0IDEwLjcsNTMuNkMxMC45LDUzLjEgMTEuMiw1Mi42IDExLjQsNTIuNEMxMS43LDUyLjEgMTEuOCw1MS45IDExLjgsNTEuN0MxMS44LDUxLjMgMTMuMSw0OS4yIDEzLjgsNDguNUMxNC4xLDQ4LjIgMTQuNCw0Ny43IDE0LjcsNDcuM0MxNS4zLDQ2LjMgMTkuNiw0Mi4zIDIwLjYsNDEuN0MyMC45LDQxLjUgMjEuNSw0MS4xIDIyLDQwLjdDMjIuNSw0MC4zIDIzLjEsMzkuOSAyMy4yLDM5LjhDMjMuNCwzOS43IDI0LDM5LjQgMjQuNiwzOS4xQzI1LjEsMzguOCAyNS45LDM4LjQgMjYuMywzOC4xQzI2LjgsMzggMjcuMywzNy43IDI3LjYsMzcuNUMyNy45LDM3LjQgMjguMiwzNy4yIDI4LjMsMzcuMUMyOC41LDM3LjEgMjksMzYuOSAyOS41LDM2LjhDMzAsMzYuNiAzMC42LDM2LjQgMzAuOCwzNi4zQzMwLjksMzYuMyAzMS40LDM2LjEgMzEuNywzNS45QzMyLDM1LjggMzIuNSwzNS43IDMyLjksMzUuN0MzMy41LDM1LjcgMzUuNiwzNS4yIDM2LjMsMzVDMzcuMiwzNC42IDQzLjYsMzQuOCA0NS4xLDM1LjJDNDUuOCwzNS40IDQ3LDM1LjYgNDcuOCwzNS42QzQ4LjcsMzUuNyA0OS41LDM1LjkgNTAuNSwzNi4zQzUxLjMsMzYuNiA1Mi4yLDM2LjkgNTIuNiwzN0M1Mi45LDM3IDUzLjUsMzcuMiA1My44LDM3LjRDNTQuMSwzNy42IDU0LjcsMzcuOSA1NS4xLDM4QzU1LjUsMzguMSA1NiwzOC40IDU2LjMsMzguNUM1Ni42LDM4LjcgNTcuMywzOS4xIDU3LjgsMzkuNEM1OC4zLDM5LjcgNTguOCw0MCA1OC45LDQwLjFDNTksNDAuMiA1OS4xLDQwLjMgNTkuMiw0MC4zQzU5LjMsNDAuMyA1OS44LDQwLjYgNjAuMiw0MUM2MC43LDQxLjQgNjEuMiw0MS44IDYxLjQsNDEuOUM2Mi40LDQyLjcgNjMuMyw0My40IDYzLjksNDQuMUM2NS4xLDQ1LjQgNjUuOSw0Ni4yIDY2LjIsNDYuN0M2Ni4zLDQ2LjkgNjYuNiw0Ny4zIDY2LjgsNDcuNUM2Ny42LDQ4LjQgNjkuNCw1MC45IDY5LjcsNTEuNkM2OS44LDUyIDcwLjIsNTIuNiA3MC40LDUzQzcwLjYsNTMuMyA3MC44LDUzLjcgNzAuOCw1My45QzcwLjgsNTQuMSA3MS4xLDU0LjcgNzEuNCw1NS40QzcxLjcsNTYgNzIsNTYuOCA3Mi4xLDU3LjJDNzIuMiw1OC4zIDcyLjUsNTkuNiA3Mi43LDU5LjhDNzMsNjAuMSA3My4zLDYyLjEgNzMuMyw2My4yQzczLjMsNjQgNzMuNSw2NSA3My44LDY2LjFDNzQuNCw2OC44IDc0LjIsNzAuMyA3Myw3MS4yQzcxLjksNzIgNzEuNyw3MS40IDcxLjMsNjUuOEM3MS4yLDY1LjMgNzEsNjQuNSA3MC44LDYzLjlDNzAuNyw2My40IDcwLjUsNjIuOCA3MC41LDYyLjZDNzAuNSw2MiA2OS45LDU5LjQgNjkuNiw1OC44QzY5LjUsNTguNiA2OS4yLDU3LjkgNjkuMSw1Ny40QzY4LjksNTYuOSA2OC42LDU2LjEgNjguNCw1NS44QzY4LjIsNTUuNCA2OCw1NC44IDY3LjgsNTQuNEM2Ny43LDU0IDY3LjUsNTMuNSA2Ny4zLDUzLjRDNjcuMiw1My4yIDY2LjksNTIuNyA2Ni43LDUyLjNDNjUuMiw0OS41IDYxLjgsNDUuNiA1OS4xLDQzLjdDNTguNCw0My4yIDU3LjQsNDIuNCA1Nyw0MkM1Ni4xLDQxLjIgNTQuMSwzOS44IDUzLjgsMzkuOEM1My43LDM5LjggNTMuMSwzOS42IDUyLjYsMzkuMkM1MiwzOC45IDUxLDM4LjYgNTAuNCwzOC40QzQ5LjgsMzguMyA0OS4xLDM4IDQ5LDM3LjlDNDguNSwzNy40IDQ3LjQsMzcuMyA0Mi40LDM3LjRDMzcuNywzNy40IDM1LjYsMzcuNSAzNS4yLDM3LjhDMzUuMSwzNy45IDM0LjQsMzguMSAzMy43LDM4LjNDMzEuOCwzOC44IDMxLjYsMzguOSAyOS4yLDQwQzI3LjIsNDEgMjQuMyw0Mi44IDI0LjMsNDNDMjQuMyw0My4xIDI0LjIsNDMuMiAyNC4xLDQzLjJDMjQsNDMuMiAyMy42LDQzLjUgMjMuMiw0My45QzIyLjksNDQuMyAyMi4zLDQ0LjggMjEuOSw0NS4xQzIxLjYsNDUuNCAyMS4yLDQ1LjggMjEuMSw0NkMyMSw0Ni4yIDIwLjQsNDYuOSAxOS44LDQ3LjVDMTkuMyw0OC4xIDE4LjgsNDguNiAxOC44LDQ4LjdDMTguOCw0OC44IDE4LjcsNDkuMSAxOC40LDQ5LjRDMTguMiw0OS43IDE4LDUwIDE3LjksNTAuMkMxNy45LDUwLjMgMTcuNSw1MC45IDE3LjIsNTEuNkMxNiw1My43IDE1LDU1LjggMTUsNTYuMkMxNSw1Ni40IDE0LjksNTYuNSAxNC44LDU2LjZDMTQuNyw1Ni42IDE0LjcsNTYuOCAxNC43LDU3QzE0LjcsNTcuMSAxNC41LDU3LjYgMTQuMiw1OC4xQzE0LDU4LjUgMTMuOCw1OS4yIDEzLjgsNTkuNUMxMy44LDYwLjEgMTMuNSw2MS41IDEzLDYzLjJDMTIuNiw2NC4yIDEyLjYsNjQuNSAxMi41LDgwLjFMMTIuNSw5NkwxMi45LDk2LjJDMTMuMiw5Ni40IDE2LjgsOTYuNCAzMi44LDk2LjRDNDMuNSw5Ni40IDUyLjQsOTYuNSA1Mi42LDk2LjVDNTIuOCw5Ni42IDUzLjIsOTcgNTMuNCw5Ny40QzUzLjksOTggNTMuOSw5OC4yIDUzLjksOTkuNUM1My45LDEwMS40IDUzLjgsMTAxLjUgNTIsMTAxLjZDNDYuOCwxMDEuOCA4LjgsMTAxLjggOC4zLDEwMS42Wk0zOC45LDI4LjNDMzguNywyOC4zIDM4LjQsMjguMSAzOC4xLDI4LjFDMzcuNiwyOCAzNi4xLDI2LjkgMzUuNSwyNi40QzM0LjMsMjUgMzMuNywyMi42IDM0LjIsMjAuN0MzNC43LDE4LjYgMzUuNywxNy4zIDM3LjcsMTYuM0M0MC44LDE0LjcgNDQuNywxNi4xIDQ2LjMsMTkuM0M0Ni45LDIwLjYgNDcsMjMuNSA0Ni4zLDI0LjdDNDUuNCwyNi42IDQ0LjIsMjcuNiA0Mi4zLDI4LjJDNDEuNSwyOC41IDM5LjUsMjguNiAzOC45LDI4LjNaIi8+PHBhdGggZmlsbD0iIzlDQzVEMiIgZmlsbC1vcGFjaXR5PSIwLjUiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTM3LjksMTY1LjRDMzMuNywxNjQuMSAzMi4yLDE1OSAzNSwxNTUuNUMzOC4xLDE1MS43IDQ0LjIsMTUzIDQ1LjcsMTU3LjdDNDYuNiwxNjAuNSA0NS4zLDE2My42IDQyLjcsMTY1QzQxLjQsMTY1LjcgMzkuMywxNjUuOSAzNy45LDE2NS40Wk0zOC4xLDE0Ny4xQzM3LjgsMTQ3IDM2LjksMTQ2LjggMzYsMTQ2LjdDMzUuMSwxNDYuNSAzMy44LDE0Ni4zIDMzLjEsMTQ2LjJDMzIuMiwxNDYuMSAzMS40LDE0NS45IDMwLjgsMTQ1LjZDMzAuMywxNDUuNCAyOS41LDE0NS4xIDI5LDE0NUMyOC41LDE0NC45IDI3LjgsMTQ0LjYgMjcuNSwxNDQuNEMyNy4yLDE0NC4yIDI2LjgsMTQ0IDI2LjcsMTQ0QzI2LjUsMTQ0IDI2LjIsMTQzLjkgMjQuNywxNDMuMUMyMy42LDE0Mi42IDIxLjgsMTQxLjMgMjEuNSwxNDFDMjEuNCwxNDAuOCAyMS4yLDE0MC43IDIxLjEsMTQwLjdDMjAuNiwxNDAuNyAxNy4xLDEzNy4yIDE2LDEzNS43QzE1LjgsMTM1LjMgMTUuNCwxMzQuOSAxNS4zLDEzNC43QzE0LjMsMTMzLjggMTMuMSwxMzIgMTIuNywxMzFDMTIuNSwxMzAuNiAxMi4yLDEzMC4xIDEyLjEsMTMwQzExLjksMTI5LjggMTEuNywxMjkuMiAxMS40LDEyOC43QzExLjIsMTI4LjEgMTAuOSwxMjcuMiAxMC43LDEyNi44QzEwLjUsMTI2LjQgMTAuMywxMjUuNyAxMC4yLDEyNS4yQzEwLjIsMTI0LjggMTAsMTIzLjkgOS43LDEyMy4yQzkuNSwxMjIuNiA5LjIsMTIxLjIgOS4yLDEyMC4zQzkuMSwxMTkuNCA4LjksMTE4IDguNywxMTcuM0M4LjYsMTE2LjcgOC40LDExNS40IDguNCwxMTQuNkw4LjQsMTEzLjJMOS4xLDExMi41QzEwLjMsMTExLjIgMTAuNiwxMTEuNyAxMC45LDExNS40QzExLjEsMTE2LjkgMTEuMywxMTguNCAxMS40LDExOC43QzExLjYsMTE5LjIgMTIsMTIwLjkgMTIuMywxMjIuOEMxMi4zLDEyMy4xIDEyLjUsMTIzLjYgMTIuNywxMjMuOUMxMi44LDEyNC4yIDEzLjEsMTI0LjggMTMuMiwxMjUuMkMxMy41LDEyNi41IDE1LjQsMTMwLjQgMTYuMywxMzEuNEMxNi41LDEzMS42IDE2LjcsMTMyIDE2LjcsMTMyLjFDMTYuNywxMzIuMiAxNywxMzIuNyAxNy40LDEzMy4xQzE3LjgsMTMzLjYgMTguNCwxMzQuMyAxOC43LDEzNC43QzE5LjksMTM2LjIgMjEuNSwxMzcuNiAyNS43LDE0MC44QzI2LjEsMTQxLjEgMjYuNiwxNDEuNSAyNi45LDE0MS43QzI3LjEsMTQxLjkgMjcuOCwxNDIuMiAyOC4zLDE0Mi40QzI4LjgsMTQyLjYgMjkuNCwxNDIuOSAyOS43LDE0M0MyOS45LDE0My4yIDMwLjYsMTQzLjUgMzEuMSwxNDMuNkMzMS43LDE0My43IDMyLjQsMTQ0IDMyLjcsMTQ0LjJDMzMuMiwxNDQuNiAzMy4yLDE0NC42IDM4LjgsMTQ0LjZDNDQuMywxNDQuNSA0NC40LDE0NC41IDQ1LjYsMTQ0LjFDNDYuMiwxNDMuOSA0Ny4zLDE0My42IDQ4LDE0My40QzQ4LjcsMTQzLjMgNDkuNSwxNDMgNDkuOCwxNDIuOUM1MCwxNDIuNyA1MC42LDE0Mi40IDUxLjEsMTQyLjJDNTEuNSwxNDIuMSA1Mi4yLDE0MS43IDUyLjcsMTQxLjVDNTMuMSwxNDEuMiA1My41LDE0MSA1My41LDE0MUM1My42LDE0MSA1NCwxNDAuOCA1NC4zLDE0MC42QzU0LjYsMTQwLjMgNTUuMywxMzkuOCA1NS44LDEzOS40QzU4LjUsMTM3LjUgNjEuNSwxMzQgNjMuMSwxMzAuOUM2My40LDEzMC40IDYzLjcsMTI5LjggNjMuOCwxMjkuNkM2NC4zLDEyOC42IDY1LjEsMTI2LjcgNjUuMiwxMjYuM0M2NS4zLDEyNiA2NS41LDEyNS40IDY1LjgsMTI0LjlDNjYsMTI0LjQgNjYuMiwxMjMuOSA2Ni4yLDEyMy44QzY2LjIsMTIzLjMgNjYuNywxMjEgNjcsMTE5LjlDNjcuMywxMTguOSA2Ny4zLDExNy45IDY3LjUsMTA2LjlDNjcuNyw5NC41IDY3LjcsODguNiA2Ny41LDg4LjJDNjcuMyw4OCA2Myw4OCA0Ni41LDg4QzM1LjEsODggMjIuOCw4OCAxOS4xLDg3LjlMMTIuNSw4Ny44TDEyLjUsODUuM0wxMi41LDgyLjhMMzIuOSw4Mi44QzY0LjUsODIuNyA3MS42LDgyLjggNzIuMSw4M0M3Mi44LDgzLjMgNzIuOCw4My41IDcyLjgsOTkuNUM3Mi44LDExNS41IDcyLjcsMTE4LjIgNzIuMiwxMTkuOEM3MiwxMjAuNCA3MS44LDEyMS40IDcxLjcsMTIyLjFDNzEuNSwxMjIuOCA3MS4yLDEyMy45IDcxLDEyNC41QzcwLjcsMTI1LjEgNzAuNSwxMjUuOCA3MC41LDEyNkM3MC41LDEyNi4xIDcwLjIsMTI2LjggNjkuOSwxMjcuNEM2OS42LDEyOC4xIDY5LjMsMTI4LjcgNjkuMywxMjguOEM2OS4zLDEyOSA2OS4yLDEyOS40IDY5LDEyOS43QzY4LjcsMTMwIDY4LjIsMTMwLjkgNjcuOCwxMzEuN0M2Ny40LDEzMi41IDY2LjgsMTMzLjMgNjYuNiwxMzMuNUM2Ni40LDEzMy43IDY2LDEzNC4yIDY1LjgsMTM0LjdDNjQuOSwxMzYuMSA2MS4zLDEzOS41IDU5LjQsMTQwLjdDNTksMTQxIDU4LjYsMTQxLjMgNTguMywxNDEuNUM1Ny4zLDE0Mi4yIDU2LjQsMTQyLjggNTYsMTQyLjlDNTUuOCwxNDMgNTUuNCwxNDMuMiA1NS4yLDE0My40QzU1LDE0My41IDU0LjUsMTQzLjggNTQsMTQ0QzUzLjYsMTQ0LjIgNTMsMTQ0LjQgNTIuNywxNDQuNkM1Mi41LDE0NC44IDUxLjksMTQ1IDUxLjYsMTQ1LjFDNTEuMiwxNDUuMiA1MC41LDE0NS40IDQ5LjksMTQ1LjdDNDkuMywxNDUuOSA0OC40LDE0Ni4yIDQ3LjgsMTQ2LjNDNDcuMiwxNDYuMyA0NiwxNDYuNiA0NSwxNDYuOEM0My40LDE0Ny4yIDQwLDE0Ny4zIDM4LjEsMTQ3LjFaTTQ5LjUsMTAxLjdDNTAuOSwxMDEuNiA1MiwxMDEuNiA1Mi4xLDEwMS43QzUyLjIsMTAxLjggNTEuMiwxMDEuOCA0OS43LDEwMS44TDQ3LjEsMTAxLjhMNDkuNSwxMDEuN1pNNy4xLDEwMS4yQzYuOCwxMDAuOSA2LjgsOTkuNyA2LjksODUuOUw2LjksNzAuOUw3LDg1LjlDNyw5OS45IDcsMTAwLjkgNy4zLDEwMS4xQzcuNSwxMDEuMiA3LjUsMTAxLjMgNy41LDEwMS40QzcuNCwxMDEuNSA3LjMsMTAxLjQgNy4xLDEwMS4yWk01My44LDk4LjJDNTMuOCw5Ny43IDUzLDk2LjcgNTIuNSw5Ni41QzUyLjIsOTYuNCA1Miw5Ni4zIDUyLDk2LjJDNTIuMiw5Ni4xIDUzLjEsOTYuNiA1My41LDk3LjFDNTMuOSw5Ny42IDU0LjEsOTguMyA1My45LDk4LjVDNTMuOSw5OC41IDUzLjgsOTguNCA1My44LDk4LjJaTTE2LjksOTYuNEMxNy41LDk2LjMgMTguNSw5Ni4zIDE5LjEsOTYuNEMxOS43LDk2LjQgMTkuMiw5Ni40IDE4LDk2LjRDMTYuOCw5Ni40IDE2LjMsOTYuNCAxNi45LDk2LjRaTTM0LjIsOTYuM0MzNC4yLDk2LjIgMzcuNiw5Ni4yIDQzLDk2LjJDNDcuOSw5Ni4yIDUxLjgsOTYuMiA1MS44LDk2LjNDNTEuNiw5Ni40IDM0LjQsOTYuNSAzNC4yLDk2LjNaTTcxLjYsNzAuOEM3MS42LDcwLjYgNzEuNSw3MCA3MS40LDY5LjVMNzEuMyw2OC40TDcxLjYsNjkuN0M3MS44LDcwLjkgNzEuOCw3MS4zIDcxLjYsNzAuOFpNMzMuOCwzOC4zQzM0LDM4LjIgMzQuMiwzOC4yIDM0LjMsMzguMkMzNC41LDM4LjIgMzQuOCwzOCAzNS4xLDM3LjlDMzUuNiwzNy42IDM1LjcsMzcuNiAzNS43LDM3LjhDMzUuNywzNy45IDM1LjMsMzguMSAzNC44LDM4LjJDMzMuOCwzOC41IDMzLjUsMzguNiAzMy44LDM4LjNaTTM2LjYsMzcuNUMzNy41LDM3LjMgMzguNSwzNy4zIDM4LjYsMzcuNUMzOC42LDM3LjYgMzguMiwzNy43IDM3LjMsMzcuNkMzNi4xLDM3LjYgMzYsMzcuNiAzNi42LDM3LjVaTTM3LjksMzQuN0MzNy45LDM0LjYgMzguNCwzNC41IDM5LjQsMzQuNUM0MC40LDM0LjUgNDEsMzQuNiA0MC45LDM0LjdDNDAuOSwzNC44IDQwLjIsMzQuOCAzOS40LDM0LjhDMzguNiwzNC44IDM4LDM0LjggMzcuOSwzNC43WiIvPjwvZz48dXNlIGhyZWY9IiNzIiB4PSI2MCIgeT0iNjAiLz48L3N2Zz4=");
  --grain: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyMjAnIGhlaWdodD0nMjIwJz48ZmlsdGVyIGlkPSduJyB4PScwJyB5PScwJyB3aWR0aD0nMTAwJScgaGVpZ2h0PScxMDAlJz48ZmVUdXJidWxlbmNlIHR5cGU9J2ZyYWN0YWxOb2lzZScgYmFzZUZyZXF1ZW5jeT0nLjg1JyBudW1PY3RhdmVzPScyJyBzdGl0Y2hUaWxlcz0nc3RpdGNoJy8+PGZlQ29sb3JNYXRyaXggdHlwZT0nbWF0cml4JyB2YWx1ZXM9JzAgMCAwIDAgLjA5ICAwIDAgMCAwIC4xOSAgMCAwIDAgMCAuMzEgIDAgMCAwIC4wNzUgMCcvPjwvZmlsdGVyPjxyZWN0IHdpZHRoPScxMDAlJyBoZWlnaHQ9JzEwMCUnIGZpbHRlcj0ndXJsKCNuKScvPjwvc3ZnPg==");
}

*, *::before, *::after { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--header-h) + 12px);
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  font-family: var(--sans);
  font-size: 1.0625rem;
  font-weight: 400;
  line-height: 1.6;
  color: var(--body);
  background: var(--white);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

img, picture, svg { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; }
button { font: inherit; }
h1, h2, h3, p, ul, ol, dl, dd, figure, blockquote { margin: 0; }
ul, ol { padding: 0; list-style: none; }
p { text-wrap: pretty; }

h1, h2, h3 {
  font-family: var(--sans);
  color: var(--navy);
  letter-spacing: -0.02em;
  text-wrap: balance;
}
h1 { font-weight: 800; font-size: clamp(2rem, min(4vw, 7.2vh), 2.85rem); line-height: 1.06; letter-spacing: -0.025em; }
h2 { font-weight: 700; font-size: clamp(1.75rem, 3.2vw, 2.55rem); line-height: 1.12; }
h3 { font-weight: 600; font-size: clamp(1.1rem, 1.6vw, 1.3rem); line-height: 1.25; letter-spacing: -0.01em; }

/* assinatura tipográfica da marca: título forte + palavra em itálico leve */
.accent { font-weight: 300; font-style: italic; color: var(--vinho); letter-spacing: -0.01em; }

:focus-visible { outline: 3px solid var(--azul); outline-offset: 3px; border-radius: 8px; }
.on-dark :focus-visible { outline-color: #fff; }

.sr-only {
  position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.skip-link {
  position: absolute; left: 16px; top: -80px; z-index: 100;
  background: var(--navy); color: #fff; padding: 12px 18px;
  border-radius: 999px; text-decoration: none; font-weight: 600;
}
.skip-link:focus { top: 12px; }

.wrap {
  width: 100%;
  max-width: calc(var(--wrap) + var(--gutter) * 2);
  margin-inline: auto;
  padding-inline: var(--gutter);
}
.section { padding-block: var(--section); }
.section--nevoa { background-color: var(--nevoa); background-image: var(--grain); }
.section--navy { background-color: var(--navy); background-image: var(--pat-dark); background-size: 120px 120px; color: #dce6eb; }
.section--navy h2, .section--navy h3 { color: #fff; }
.section--navy .accent, .final .accent { color: var(--azul); }

.lede { font-size: clamp(1.05rem, 1.4vw, 1.2rem); line-height: 1.6; font-weight: 400; color: var(--body); }

/* ---------- elementos gráficos ---------- */
.rule { display: block; width: 92px; height: 2px; margin-top: 18px; background: linear-gradient(90deg, var(--vinho), rgba(99, 6, 33, 0)); }
.section--navy .rule { background: linear-gradient(90deg, var(--azul), rgba(156, 197, 210, 0)); }

.connector {
  height: 10px;
  background:
    radial-gradient(circle at 5px 50%, var(--navy) 4.4px, transparent 5px),
    radial-gradient(circle at 50% 50%, var(--vinho) 4.4px, transparent 5px),
    radial-gradient(circle at calc(100% - 5px) 50%, var(--azul) 4.4px, transparent 5px),
    linear-gradient(var(--line), var(--line)) center / 100% 1px no-repeat;
}

.ico { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.ico--solid { fill: currentColor; stroke: none; }

/* ---------- botões (pílulas) ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 52px; padding: 12px 28px;
  border-radius: 999px; border: 1.5px solid transparent;
  font-family: var(--sans); font-size: 1rem; font-weight: 600; letter-spacing: 0.01em; line-height: 1.2;
  text-align: center; text-decoration: none; text-wrap: balance; cursor: pointer;
  transition: background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}
.btn:active { transform: translateY(1px); }
.btn svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; transition: transform 0.18s ease; }
.btn:hover svg { transform: translateX(3px); }
.btn--primary { background: var(--vinho); color: #fff; }
.btn--primary:hover { background: var(--vinho-hover); }
.btn--ghost { background: transparent; color: var(--navy); border-color: var(--navy); }
.btn--ghost:hover { background: var(--navy); color: #fff; }
.btn--light { background: var(--nevoa); color: var(--vinho); }
.btn--light:hover { background: #fff; }
.btn--outline-light { background: transparent; color: var(--nevoa); border-color: rgba(219, 230, 235, 0.65); }
.btn--outline-light:hover { background: var(--nevoa); color: var(--navy); border-color: var(--nevoa); }
.btn--sm { min-height: 44px; padding: 9px 22px; font-size: 0.95rem; }
.btn--block { width: 100%; }

.link-arrow {
  display: inline-block; padding-block: 11px;
  color: var(--navy); font-weight: 600;
  text-decoration: underline; text-decoration-color: var(--azul);
  text-decoration-thickness: 3px; text-underline-offset: 6px;
}
.link-arrow:hover { text-decoration-color: var(--vinho); }

/* ---------- header ---------- */
.site-header {
  position: sticky; top: 0; z-index: 50; height: var(--header-h);
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: saturate(1.4) blur(10px); -webkit-backdrop-filter: saturate(1.4) blur(10px);
  border-bottom: 1px solid transparent;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.site-header.is-scrolled { border-bottom-color: var(--line); box-shadow: 0 6px 24px -18px rgba(24, 49, 79, 0.5); }
.site-header .wrap { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.brand { display: block; flex: none; }
.brand img { height: 56px; width: auto; }

.nav { display: none; }
.nav__list { display: flex; gap: clamp(16px, 2.2vw, 32px); align-items: center; }
.nav__list a {
  font-size: 0.98rem; font-weight: 500; color: var(--navy); text-decoration: none;
  padding: 8px 2px; border-bottom: 2px solid transparent;
}
.nav__list a:hover { border-bottom-color: var(--vinho); }
.header-actions { display: flex; align-items: center; gap: 12px; }

.menu-toggle {
  display: inline-flex; align-items: center; justify-content: center;
  width: 46px; height: 46px; border: 1.5px solid var(--line); border-radius: 50%;
  background: #fff; color: var(--navy); cursor: pointer;
}
.menu-toggle svg { width: 22px; height: 22px; }
.menu-toggle .icon-close { display: none; }
.menu-toggle[aria-expanded="true"] .icon-open { display: none; }
.menu-toggle[aria-expanded="true"] .icon-close { display: block; }

.mobile-menu {
  position: fixed; inset: var(--header-h) 0 auto 0; z-index: 49;
  background: #fff; border-bottom: 1px solid var(--line);
  padding: 8px var(--gutter) 24px; box-shadow: 0 24px 40px -24px rgba(24, 49, 79, 0.45);
}
.mobile-menu[hidden] { display: none; }
.mobile-menu a { display: block; padding: 16px 4px; font-weight: 500; color: var(--navy); text-decoration: none; border-bottom: 1px solid var(--line); }

@media (min-width: 1020px) {
  .nav { display: block; }
  .menu-toggle, .mobile-menu { display: none !important; }
}
@media (max-width: 1019px) {
  :root { --header-h: 64px; }
  .brand img { height: 44px; }
}
@media (max-width: 420px) { .header-actions .btn { display: none; } }

/* ---------- hero ---------- */
.hero { padding-block: clamp(14px, 2.4vh, 36px) clamp(40px, 6vh, 72px); overflow: hidden; overflow: clip; }
.hero__grid { display: grid; gap: clamp(40px, 6vw, 72px); align-items: center; }
.hero__tag {
  display: inline-block; text-align: left; margin-bottom: 20px; padding: 9px 20px;
  border: 1.5px solid var(--azul); border-radius: 18px;
  font-weight: 500; font-size: 0.92rem; line-height: 1.4; color: var(--vinho);
}
.hero__tag span { display: block; white-space: nowrap; }
@media (min-width: 560px) {
  .hero__tag { display: inline-block; padding: 7px 18px; border-radius: 26px; line-height: 1.35; }
  .hero__tag span { display: inline; }
}
.hero h1 { max-width: 14.5em; font-weight: 300; }
.hero h1 .key { font-weight: 800; font-style: normal; color: var(--vinho); }
.hero .lede { margin-top: 20px; max-width: 32em; }
.hero__actions { margin-top: 28px; display: flex; flex-wrap: wrap; gap: 12px 14px; align-items: center; }
.hero__price { margin-top: 16px; font-size: 0.95rem; color: var(--muted); }
.hero__price strong { color: var(--navy); font-weight: 600; }

.arch { position: relative; width: min(100%, 480px); margin-inline: auto; aspect-ratio: 4 / 5; margin-block: 30px 48px; }
.arch__frame { position: absolute; inset: 0; border: 1.5px solid var(--azul); border-radius: 999px 999px 26px 26px; transform: translate(16px, 16px); }
.arch__photo {
  position: relative; height: 100%; overflow: hidden;
  border-radius: 999px 999px 26px 26px; background: var(--nevoa);
  animation: arch-reveal 1.1s cubic-bezier(0.22, 0.7, 0.2, 1) both;
}
.arch__photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 10%; transform: scale(1.02); transform-origin: 50% 18%; }
.arch__dot { position: absolute; left: 50%; width: 16px; height: 16px; border-radius: 50%; translate: -50% 0; }
.arch__dot--top { top: -30px; background: var(--navy); }
.arch__dot--bottom { bottom: -46px; background: var(--azul); }
.arch__seal {
  position: absolute; left: -10px; bottom: 22px; z-index: 3;
  width: 92px; height: 92px; padding: 8px; border-radius: 50%;
  background: #fff; box-shadow: 0 14px 30px -14px rgba(24, 49, 79, 0.45);
}
.seal__inner { position: relative; display: block; width: 100%; height: 100%; }
.seal__ring, .seal__core { position: absolute; inset: 0; width: 100%; height: 100%; }
.seal__ring { animation: seal-spin 70s linear infinite; }
@keyframes seal-spin { to { transform: rotate(360deg); } }
.arch__tag {
  position: absolute; right: 14px; bottom: 22px; z-index: 3; display: grid; gap: 1px;
  padding: 10px 16px; border-radius: 16px; background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 14px 30px -14px rgba(24, 49, 79, 0.45); line-height: 1.25;
}
.arch__tag strong { font-weight: 600; font-size: 0.95rem; color: var(--navy); }
.arch__tag span { font-size: 0.85rem; color: var(--muted); letter-spacing: 0.01em; }
@keyframes arch-reveal { from { clip-path: inset(0 0 100% 0); } to { clip-path: inset(0 0 0 0); } }

@media (min-width: 900px) {
  .hero__grid { grid-template-columns: minmax(0, 1fr) auto; column-gap: clamp(40px, 5vw, 64px); }
  .arch {
    --arch-h: clamp(400px, calc(100vh - 118px), 700px);
    justify-self: end; height: var(--arch-h);
    width: min(calc(40vw - 16px), 490px, calc(var(--arch-h) * 1.15));
    aspect-ratio: auto; margin-inline: 0 16px;
  }
  .arch__seal { left: -54px; bottom: 34px; width: 116px; height: 116px; padding: 9px; }
}

/* ---------- sistema de seções: cabeçalho e grade ---------- */
.sec-head { display: flex; align-items: center; gap: 14px; margin-bottom: clamp(28px, 4vw, 48px); }
.sec-head__n { font-family: var(--display); font-size: 1.7rem; line-height: 1; color: var(--vinho); }
.sec-head__label { font-weight: 500; font-size: 0.95rem; color: var(--navy); }
.sec-head__line { flex: 1; height: 1px; background: var(--line); }
.section--nevoa .sec-head__line { background: rgba(24, 49, 79, 0.22); }
.on-dark .sec-head__n { color: var(--azul); }
.on-dark .sec-head__label { color: #fff; }
.on-dark .sec-head__line { background: var(--line-dark); }

.split { display: grid; gap: 24px 64px; align-items: start; }
.split + * { margin-top: clamp(32px, 4.5vw, 56px); }
@media (min-width: 900px) {
  .split { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); }
  .faq .split > h2 { position: sticky; top: calc(var(--header-h) + 32px); }
}

/* faixa de fatos (base do hero) */
.facts { margin-top: clamp(32px, 4.5vw, 64px); border: 1px solid var(--line); border-radius: 24px; background: var(--line); overflow: hidden; }
.facts__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; }
.facts__grid li { display: flex; align-items: center; gap: 14px; padding: 18px 18px; background: #fff; }
.facts__ico { display: grid; place-items: center; flex: none; width: 46px; height: 46px; border-radius: 50%; background: var(--nevoa); color: var(--navy); }
.facts__ico .ico { width: 28px; height: 28px; stroke-width: 1.7; }
.facts strong { display: block; font-weight: 600; font-size: 1rem; line-height: 1.25; color: var(--navy); }
.facts__sub { display: block; margin-top: 2px; font-size: 0.92rem; line-height: 1.4; color: var(--muted); }
@media (max-width: 520px) { .facts__grid li { flex-direction: column; align-items: flex-start; } }
@media (min-width: 900px) { .facts__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } .facts__grid li { padding: 22px 24px; } }

/* ---------- sobre: declaração ---------- */
.statement { max-width: 16em; font-size: clamp(2.05rem, 4.4vw, 3.4rem); line-height: 1.07; }
.about__copy { display: grid; gap: 20px; margin-top: clamp(28px, 4vw, 48px); align-items: stretch; }
.about__copy p {
  margin: 0; padding: 28px 30px; border-radius: var(--radius);
  font-size: 1.1rem; line-height: 1.6;
}
.about__copy p:first-child { background: #fff; border: 1px solid rgba(24, 49, 79, 0.12); color: var(--body); }
.about__copy p:last-child {
  background-color: var(--navy); background-image: var(--pat-dark); background-size: 120px 120px; color: #fff;
}
@media (min-width: 900px) { .about__copy { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; } }

/* ---------- público ---------- */
#publico h2 { margin-bottom: clamp(32px, 4.5vw, 56px); }
.audience__list { display: grid; gap: 32px; }
.audience__list li { display: flex; align-items: flex-start; gap: 20px; }
.audience__ico {
  display: grid; place-items: center; flex: none; width: 56px; height: 56px; border-radius: 50%;
  background: var(--navy); color: #fff;
}
.audience__ico .ico { width: 28px; height: 28px; stroke-width: 1.7; }
.audience__list li:nth-child(2) .audience__ico { background: var(--vinho); }
.audience__list li:nth-child(3) .audience__ico { background: var(--azul); color: var(--navy); }
.audience__txt { padding-top: 6px; max-width: 28ch; font-size: 1.15rem; line-height: 1.45; font-weight: 500; color: var(--navy); }
@media (min-width: 900px) {
  .audience__list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 56px; }
  .audience__list li { flex-direction: column; gap: 24px; }
  .audience__txt { padding-top: 0; font-size: 1.2rem; }
}

/* ---------- conteúdo: cards dos módulos ---------- */
.mods { display: grid; gap: 16px; grid-template-columns: 1fr; }
.mods > li {
  display: flex; align-items: flex-start; gap: 18px; padding: 20px 22px;
  background: #fff; border: 1px solid rgba(24, 49, 79, 0.12); border-radius: var(--radius);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.mods > li:hover { transform: translateY(-3px); box-shadow: 0 18px 34px -24px rgba(24, 49, 79, 0.55); }
.mods__n { min-width: 2.2ch; padding-top: 2px; font-family: var(--display); font-size: 2.6rem; line-height: 1; color: var(--vinho); }
.mods__body { min-width: 0; }
.mods__desc { margin-top: 10px; font-size: 0.95rem; line-height: 1.5; color: var(--body); }
.mods__list { margin-top: 12px; display: grid; gap: 8px; }
.mods__list li { position: relative; padding-left: 18px; font-size: 0.95rem; line-height: 1.45; color: var(--body); }
.mods__list li::before { content: ""; position: absolute; left: 2px; top: 0.58em; width: 6px; height: 6px; border-radius: 50%; background: var(--vinho); }
@media (min-width: 700px) { .mods { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 1fr; } }
@media (min-width: 700px) {
  .mods > li { flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 18px; padding: 26px 26px 24px; }
  .mods__n { font-size: 3.2rem; }
}
@media (min-width: 1020px) {
  .mods { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .mods > li { gap: 22px; }
  .mods__n { font-size: 3.4rem; }
}

/* ---------- professora ---------- */
.teacher .split { align-items: center; }
.capsule { position: relative; width: min(100%, 380px); margin: 30px auto 46px; aspect-ratio: 4 / 5; }
.capsule__frame { position: absolute; inset: 0; border: 1.5px solid var(--azul); border-radius: 999px 999px 24px 24px; transform: translate(-16px, 16px); }
.capsule__img { position: relative; height: 100%; overflow: hidden; border-radius: 999px 999px 24px 24px; background: var(--nevoa); }
.capsule__img img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 16%; }
.capsule__dot { position: absolute; left: 50%; width: 16px; height: 16px; border-radius: 50%; translate: -50% 0; }
.capsule__dot--top { top: -30px; background: var(--vinho); }
.capsule__dot--bottom { bottom: -46px; background: var(--azul); }
.teacher__text h2 { margin-bottom: 24px; }
.creds { display: grid; gap: 14px; }
.creds li { position: relative; padding-left: 28px; font-size: 1.05rem; line-height: 1.5; color: var(--navy); }
.creds li::before { content: ""; position: absolute; left: 2px; top: 0.62em; width: 8px; height: 8px; border-radius: 50%; background: var(--vinho); }
.creds strong { font-weight: 600; }
.quote {
  position: relative; margin-top: 30px; padding: 30px 40px 28px;
  font-weight: 300; font-style: italic; font-size: clamp(1.2rem, 2.1vw, 1.5rem); line-height: 1.4; color: var(--navy);
}
.quote::before, .quote::after { content: ""; position: absolute; width: 40px; height: 40px; border: 1.5px solid var(--vinho); }
.quote::before { left: 0; top: 0; border-right: 0; border-bottom: 0; border-top-left-radius: 24px; }
.quote::after { right: 0; bottom: 0; border-left: 0; border-top: 0; border-bottom-right-radius: 24px; }
.quote cite { display: block; margin-top: 12px; font-style: normal; font-weight: 600; font-size: 0.95rem; }
.ig { margin-top: 24px; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 16px; }
.ig__icons { display: inline-flex; gap: 8px; color: var(--vinho); }
.ig__icons .ico { width: 16px; height: 16px; }
@media (min-width: 900px) { .capsule { margin-inline: 16px auto; } }

/* ---------- depoimentos ---------- */
.proof h2 { margin-bottom: clamp(28px, 4vw, 48px); }
.proof__list { display: grid; gap: 24px; }
@media (min-width: 900px) { .proof__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; align-items: stretch; } }
.note {
  position: relative; display: flex; flex-direction: column; padding: 30px 30px 26px; border-radius: 10px; background-color: #fff;
  background-image:
    linear-gradient(rgba(24, 49, 79, 0.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(24, 49, 79, 0.07) 1px, transparent 1px);
  background-size: 24px 24px;
  box-shadow: 0 22px 44px -28px rgba(0, 0, 0, 0.6);
}
.note::before { content: "\201C"; display: block; height: 0.55em; font-family: var(--display); font-size: 4.6rem; line-height: 0.9; color: var(--vinho); margin-bottom: 14px; }
.note blockquote p { font-weight: 400; font-style: italic; font-size: clamp(1.05rem, 1.5vw, 1.15rem); line-height: 1.55; color: var(--navy); }
.note figcaption { margin-top: auto; padding-top: 18px; font-weight: 700; color: var(--vinho); }

/* ---------- investimento ---------- */
.offer__head { max-width: 40em; }
.offer__head p { margin-top: 16px; }
.offer__panel { margin-top: clamp(32px, 5vw, 56px); display: grid; border: 1px solid var(--line); border-radius: 28px; overflow: hidden; background: #fff; }
.offer__price { padding: clamp(28px, 4vw, 52px); }
.badge { position: relative; display: inline-block; padding: 9px 24px; color: var(--vinho); font-weight: 700; font-size: 0.98rem; }
.scribble { position: absolute; left: -6px; top: -6px; width: calc(100% + 12px); height: calc(100% + 12px); overflow: visible; fill: none; stroke: var(--vinho); stroke-width: 1.4; stroke-linecap: round; }
.scribble path { vector-effect: non-scaling-stroke; }
.offer__from { margin-top: 26px; margin-bottom: 6px; font-size: 1.05rem; color: var(--muted); text-decoration: line-through; text-decoration-thickness: 1.5px; }
.offer__main { font-weight: 800; color: var(--vinho); font-size: clamp(2.2rem, 5vw, 3.3rem); line-height: 1.04; letter-spacing: -0.03em; }
.offer__main small { display: block; margin-top: 8px; font-size: 1.02rem; font-weight: 500; letter-spacing: 0; color: var(--navy); }
.offer__cash { margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--line); color: var(--navy); font-weight: 500; }
.offer__cash strong { font-weight: 700; }
.offer__turma { margin-top: 20px; font-weight: 600; color: var(--navy); }
.offer__actions { margin-top: 28px; display: grid; gap: 12px; }
.offer__note { margin-top: 16px; font-size: 0.95rem; color: var(--muted); }

.offer__includes { padding: clamp(28px, 4vw, 52px); background-color: var(--navy); background-image: var(--pat-dark); background-size: 120px 120px; color: #dce6eb; }
.offer__includes h3 { color: #fff; font-size: clamp(1.3rem, 2.1vw, 1.6rem); font-weight: 600; }
.includes { margin-top: 24px; display: grid; }
.includes li { position: relative; padding: 16px 0 16px 36px; border-top: 1px solid var(--line-dark); line-height: 1.5; }
.includes li:last-child { border-bottom: 1px solid var(--line-dark); }
.includes li::before { content: ""; position: absolute; left: 2px; top: 21px; width: 16px; height: 9px; border-left: 2px solid var(--azul); border-bottom: 2px solid var(--azul); transform: rotate(-45deg); }
@media (min-width: 900px) { .offer__panel { grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); } }

/* ---------- faq ---------- */
.faq__grid { display: grid; gap: 32px 72px; }
.faq__list { max-width: 820px; }
.faq details { border-top: 1px solid rgba(24, 49, 79, 0.22); }
.faq details:last-child { border-bottom: 1px solid rgba(24, 49, 79, 0.22); }
.faq summary {
  position: relative; display: block; padding: 22px 48px 22px 0;
  font-size: clamp(1.08rem, 1.6vw, 1.25rem); font-weight: 600; line-height: 1.3; color: var(--navy);
  cursor: pointer; list-style: none;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::before, .faq summary::after {
  content: ""; position: absolute; right: 6px; top: 50%; width: 18px; height: 2px; margin-top: -1px;
  background: var(--vinho); border-radius: 2px; transition: transform 0.2s ease;
}
.faq summary::after { transform: rotate(90deg); }
.faq details[open] summary::after { transform: rotate(0deg); }
.faq details p { padding: 0 48px 24px 0; max-width: 40em; }
@media (min-width: 900px) { .faq__grid { grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.3fr); align-items: start; } }

/* ---------- cta final ---------- */
.final { position: relative; overflow: hidden; text-align: center; }
.final::before {
  content: "GESTÃO"; position: absolute; left: 50%; top: 0.03em; transform: translateX(-50%);
  font-family: var(--display); font-size: clamp(8rem, 31vw, 29rem); line-height: 1; letter-spacing: 0.02em; white-space: nowrap;
  color: var(--azul); opacity: 0.09; pointer-events: none;
}
.final .wrap { position: relative; z-index: 1; }
.final .wrap { display: grid; justify-items: center; }
.final__logo { height: clamp(120px, 16vw, 160px); width: auto; margin-bottom: 36px; }
.final h2 { max-width: 16em; }
.final p { margin-top: 18px; max-width: 30em; font-size: 1.12rem; text-wrap: balance; }
.final__actions { margin-top: 34px; display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; }

/* ---------- footer ---------- */
.site-footer { background: var(--navy-deep); color: #b9c8d2; padding-block: 48px; font-size: 0.95rem; }
.footer__grid { display: grid; gap: 28px; align-items: end; }
.footer__logo { height: 84px; width: auto; }
.footer__info { display: grid; gap: 4px; }
.footer__name { color: #fff; font-weight: 600; }
.site-footer a { display: inline-block; padding-block: 13px; color: #fff; text-underline-offset: 4px; }
@media (min-width: 900px) { .footer__grid { grid-template-columns: 1fr auto; } .footer__info { text-align: right; } }

/* ---------- barra fixa mobile ---------- */
.sticky-cta {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 45; display: none; align-items: center; gap: 14px;
  padding: 12px var(--gutter) calc(18px + env(safe-area-inset-bottom, 0px));
  background: rgba(255, 255, 255, 0.97); border-top: 1px solid var(--line);
  box-shadow: 0 -14px 30px -22px rgba(24, 49, 79, 0.5);
  transform: translateY(110%); transition: transform 0.25s ease;
}
.sticky-cta.is-visible { transform: translateY(0); }
.sticky-cta__text { flex: 1; line-height: 1.25; font-size: 0.9rem; color: var(--muted); }
.sticky-cta__text strong { display: block; color: var(--navy); font-size: 1rem; font-weight: 600; }
.sticky-cta__text span { display: block; }
.sticky-cta .btn { flex: none; }
@media (max-width: 380px) { .sticky-cta__text span { display: none; } .sticky-cta .btn { padding-inline: 16px; } }
@media (max-width: 720px) { .sticky-cta { display: flex; } body { padding-bottom: calc(92px + env(safe-area-inset-bottom, 0px)); } }

/* ---------- responsividade fina ---------- */
/* tablet em pé (560 a 899px): hero centralizado e foto da professora alinhada ao texto */
@media (min-width: 560px) and (max-width: 899px) {
  .hero__copy { text-align: center; }
  .hero h1, .hero .lede { margin-inline: auto; }
  .hero__actions { justify-content: center; }
  .capsule { margin-inline: 16px auto; }
}
/* celular em pé: botões do hero com a mesma largura */
@media (max-width: 559px) { .hero__actions .btn { flex: 1 1 100%; } }
/* celular na horizontal (pouca altura): hero em duas colunas e sem a barra fixa */
@media (min-width: 600px) and (max-height: 520px) {
  .hero__copy { text-align: left; }
  .hero h1, .hero .lede { margin-inline: 0; }
  .hero__actions { justify-content: flex-start; }
  .hero__grid { grid-template-columns: minmax(0, 1fr) auto; column-gap: 32px; }
  .arch {
    --arch-h: max(250px, calc(100vh - 120px));
    justify-self: end; height: var(--arch-h);
    width: min(calc(40vw - 16px), 380px, calc(var(--arch-h) * 0.9)); aspect-ratio: auto; margin-inline: 0 16px; margin-block: 26px 44px;
  }
  .arch__seal { left: -38px; bottom: 22px; width: 88px; height: 88px; padding: 7px; }
}
@media (max-height: 480px) {
  .sticky-cta { display: none !important; }
  body { padding-bottom: 0; }
}

/* ---------- quebras de texto: sem viúvas ---------- */
li, summary, figcaption, .facts__sub, .audience__txt, .about__copy p, .note blockquote p { text-wrap: pretty; }
.lede, .hero__price, .offer__cash, .offer__note, .final p, .faq details p, .quote p,
.creds li, .audience__txt, .mods__list li, .includes li, .facts__sub { text-wrap: balance; }

/* ---------- revelar ao rolar ---------- */
.js-reveal .reveal { opacity: 0; transform: translateY(18px); transition: opacity 0.7s ease, transform 0.7s cubic-bezier(0.2, 0.7, 0.2, 1); transition-delay: calc(var(--i, 0) * 80ms); }
.js-reveal .reveal.is-in { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  .seal__ring { animation: none; }
  html { scroll-behavior: auto; }
  .arch__photo { animation: none; }
  .btn, .btn svg, .sticky-cta, .faq summary::before, .faq summary::after { transition: none; }
}
[hidden] { display: none !important; }

/* navegadores embutidos (Instagram): respeita as bordas seguras com viewport-fit=cover */
body { padding-left: env(safe-area-inset-left, 0px); padding-right: env(safe-area-inset-right, 0px); }

/* ==========================================================================
   AULA GRATUITA (/aula e faixa na página do curso)
   ========================================================================== */
.aula-band__grid { display: grid; gap: 24px; align-items: center; }
.aula-band h2 { max-width: 22em; }
.aula-band .lede { margin-top: 12px; max-width: 34em; }
.aula-band .btn { justify-self: start; }
@media (min-width: 900px) { .aula-band__grid { grid-template-columns: minmax(0, 1fr) auto; gap: 56px; } }
.faq details p a { color: var(--vinho); font-weight: 600; text-underline-offset: 4px; }

.aula { padding-top: clamp(28px, 5vw, 64px); }
.aula__grid { display: grid; gap: clamp(32px, 5vw, 56px); align-items: center; }
.aula__copy h1 { max-width: 14em; font-weight: 300; }
.aula__copy h1 .key { font-weight: 800; font-style: normal; color: var(--vinho); }
.aula__copy .lede { margin-top: 18px; max-width: 30em; }
.aula__points { margin-top: 26px; display: grid; gap: 14px; }
.aula__points li { display: flex; gap: 14px; align-items: center; line-height: 1.45; color: var(--navy); font-weight: 500; }
.aula__points .audience__ico { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 46px; height: 46px; border: 1.5px solid var(--azul); border-radius: 50%; color: var(--vinho); background: #fff; }
.aula__points .ico { width: 24px; height: 24px; }

.aula__card { padding: clamp(24px, 3.4vw, 40px); border: 1px solid var(--line); border-radius: 28px; background: #fff; box-shadow: 0 30px 60px -40px rgba(24, 49, 79, 0.45); }
.aula__card h2 { font-size: clamp(1.5rem, 2.4vw, 1.9rem); }
.aula__card-sub { margin-top: 8px; color: var(--muted); }
.aula__card form { margin-top: 22px; display: grid; gap: 16px; }
.field { display: grid; gap: 6px; }
.field label { font-size: 0.92rem; font-weight: 600; color: var(--navy); }
.field input, .field select {
  width: 100%; min-height: 50px; padding: 11px 16px;
  border: 1.5px solid var(--line); border-radius: 14px; background: #fff;
  font-family: var(--sans); font-size: 1rem; color: var(--navy);
}
.field input:focus, .field select:focus { outline: none; border-color: var(--navy); box-shadow: 0 0 0 3px rgba(156, 197, 210, 0.55); }
.field--hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.aula__error { padding: 10px 14px; border-radius: 12px; background: #f7e8ec; color: var(--vinho); font-size: 0.95rem; font-weight: 500; }
.aula__legal { font-size: 0.85rem; line-height: 1.45; color: var(--muted); }
.aula__nojs { margin-top: 20px; color: var(--navy); }
.aula__nojs a { color: var(--vinho); font-weight: 600; }
.btn:disabled { opacity: 0.7; cursor: progress; }

@media (min-width: 900px) { .aula__grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); } }

.aula[data-state="aula"] .aula__grid { grid-template-columns: minmax(0, 1fr); }
.aula[data-state="aula"] .aula__card { display: none; }
.aula[data-state="aula"] .aula__copy { max-width: 760px; }
.aula[data-state="aula"] .aula__points { display: none; }
.aula__stage { margin-top: clamp(28px, 4vw, 44px); max-width: 960px; }
.aula__stage-title { font-size: clamp(1.2rem, 2vw, 1.5rem); margin-bottom: 16px; color: var(--vinho); font-weight: 700; }
.aula__stage-title:focus { outline: none; }
.aula__video { position: relative; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 20px; background: var(--navy-deep); box-shadow: 0 30px 60px -36px rgba(15, 34, 57, 0.7); }
.aula__video iframe, .aula__video #aula-player { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.aula__placeholder { position: absolute; inset: 0; display: grid; place-items: center; padding: 24px; text-align: center; color: var(--nevoa); font-weight: 500; font-size: 1.1rem; }

.aula-next { text-align: center; }
.aula-next .wrap { display: grid; justify-items: center; }
.aula-next h2 { max-width: 16em; }
.aula-next p { margin-top: 16px; max-width: 32em; font-size: 1.1rem; text-wrap: balance; }
.aula-next .aula-next__turma { font-weight: 600; color: #fff; }
.aula-next .final__actions { margin-top: 30px; display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; }
.aula-next[hidden], .aula__stage[hidden], .aula__card[hidden] { display: none; }
.aula__stage { scroll-margin-top: calc(var(--header-h) + 18px); }
@media (max-width: 899px) { .aula__points { display: none; } }

/* ---------- contagem regressiva da turma (discreta) ---------- */
.countdown { margin-top: 14px; font-size: 0.95rem; color: var(--muted); font-variant-numeric: tabular-nums; }
.countdown[hidden] { display: none; }
.countdown strong { font-weight: 600; color: var(--navy); }
.aula-next .countdown { margin-top: 18px; font-size: 0.98rem; color: #dce6eb; }
.aula-next .countdown strong { color: #fff; }
.aula-next .aula-next__turma { margin-top: 6px; font-size: 0.98rem; font-weight: 400; color: #dce6eb; }

/* ---------- páginas /obrigado e /obrigado-boleto ---------- */
.thanks { padding-top: clamp(28px, 5vw, 64px); }
.thanks__copy h1 { max-width: 14em; font-weight: 300; }
.thanks__copy h1 .key { font-weight: 800; font-style: normal; color: var(--vinho); }
.thanks__copy .lede { margin-top: 18px; max-width: 32em; }
.thanks__steps { margin-top: 32px; display: grid; gap: 14px; max-width: 760px; }
.thanks__steps li { display: flex; gap: 18px; align-items: flex-start; padding: 20px 22px; border: 1px solid var(--line); border-radius: 22px; background: #fff; }
.thanks__n { font-family: var(--display); font-size: 2rem; line-height: 1; color: var(--vinho); min-width: 1.2em; }
.thanks__steps h2 { font-size: 1.1rem; font-weight: 600; line-height: 1.3; }
.thanks__steps p { margin-top: 4px; color: var(--muted); }
.thanks__steps .btn { margin-top: 14px; margin-right: 10px; }
.thanks__help { margin-top: 28px; color: var(--muted); max-width: 760px; }
.thanks__help a { color: var(--vinho); font-weight: 600; }

/* ---------- três botões: ícone do WhatsApp ---------- */
.btn .ico-wa { width: 20px; height: 20px; fill: currentColor; stroke: none; flex: none; }
.btn:hover .ico-wa { transform: none; }
.btn--icon { padding-inline: 14px; min-width: 44px; }
.btn--icon .ico-wa { width: 22px; height: 22px; }
@media (max-width: 559px) { .hero__actions .btn { flex: 1 1 100%; } }

/* ---------- política de privacidade ---------- */
.legal { padding-top: clamp(28px, 5vw, 64px); }
.legal__body { max-width: 760px; }
.legal h1 { font-weight: 300; }
.legal h1 .key { font-weight: 800; font-style: normal; color: var(--vinho); }
.legal__data { margin-top: 8px; color: var(--muted); font-size: 0.95rem; }
.legal h2 { margin-top: 2em; font-size: 1.25rem; font-weight: 700; }
.legal p, .legal li { margin-top: 0.75em; color: var(--navy); line-height: 1.65; }
.legal ul { margin-top: 0.5em; padding-left: 1.3em; list-style: disc; }
.legal a { color: var(--vinho); font-weight: 600; text-underline-offset: 3px; }
.aula__legal a { color: var(--vinho); font-weight: 600; }
