/* ============================================================
   Azenit — landing page
   Tema creme, painéis empilhados (sticky) na rolagem.
   ============================================================ */

:root {
  /* superfícies */
  --ground: #ebe3d4;   /* fundo da página, atrás dos cards */
  --bg: #f6f1e7;
  --bg-2: #fbf8f1;
  --surface: #fffdf9;
  --surface-2: #fffefc;
  --line: #e2d8c6;
  --line-soft: #ece4d6;

  /* texto */
  --text: #191710;
  --text-muted: #5b5445;
  --text-dim: #7a7263;

  /* acentos */
  --accent: #2f4acd;
  --accent-hover: #3a55dd;
  --accent-tint: #e9ecfb;
  --accent-2: #0f9e76;
  --ok: #0a6e52;

  /* superfície escura (rodapé): tons quentes para casar com o creme */
  --tinta: #1c1a15;
  --tinta-texto: #efe9dd;
  --tinta-muted: #a8a094;
  --tinta-dim: #877f72;
  --tinta-accent: #8ba0f8;
  --tinta-accent-2: #35d6a1;
  --erro: #b03b39;

  /* dourado e marinho da trama, reusados na linha do tempo */
  --dourado: #dcb44a;
  --azul-escuro: #1b3a6b;

  --radius: 14px;
  --radius-lg: 20px;
  --panel-radius: 24px;
  --container: 1140px;
  --header-h: 66px;
  /* recuo dos cards e respiro interno: o header e o rodapé reusam para alinhar */
  --gutter: clamp(14px, 3.5vw, 44px);
  --card-pad: clamp(20px, 3vw, 40px);

  /* Trama de pontos do fundo: base em azul marinho a cada 24px e dois
     retículos dourados esparsos (a cada 6 e a cada 7/8 pontos, com deslocamento
     diferente) — múltiplos da base, então os dourados caem exatamente sobre
     pontos da grade em vez de flutuar entre eles. */
  --pontos: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='384' height='432' viewBox='0 0 384 432'><circle cx='14.4' cy='12' r='1.41' fill='%23132f5c' fill-opacity='0.175'/><circle cx='44.5' cy='20.4' r='1.54' fill='%23132f5c' fill-opacity='0.205'/><circle cx='55.4' cy='8.4' r='1' fill='%23132f5c' fill-opacity='0.212'/><circle cx='55.4' cy='-423.6' r='1' fill='%23132f5c' fill-opacity='0.212'/><circle cx='89.9' cy='10.1' r='1.62' fill='%23132f5c' fill-opacity='0.222'/><circle cx='139' cy='11.5' r='1.64' fill='%23132f5c' fill-opacity='0.168'/><circle cx='184.7' cy='8.1' r='1.01' fill='%23132f5c' fill-opacity='0.16'/><circle cx='184.7' cy='-423.9' r='1.01' fill='%23132f5c' fill-opacity='0.16'/><circle cx='208.4' cy='5.5' r='1.12' fill='%23132f5c' fill-opacity='0.132'/><circle cx='208.4' cy='-426.5' r='1.12' fill='%23132f5c' fill-opacity='0.132'/><circle cx='246.5' cy='13' r='1.26' fill='%23132f5c' fill-opacity='0.143'/><circle cx='319.1' cy='8.1' r='1.63' fill='%23132f5c' fill-opacity='0.216'/><circle cx='319.1' cy='-423.9' r='1.63' fill='%23132f5c' fill-opacity='0.216'/><circle cx='354.5' cy='7.1' r='1.23' fill='%23132f5c' fill-opacity='0.223'/><circle cx='354.5' cy='-424.9' r='1.23' fill='%23132f5c' fill-opacity='0.223'/><circle cx='365.2' cy='20.3' r='1.1' fill='%23132f5c' fill-opacity='0.151'/><circle cx='9.1' cy='32.5' r='1' fill='%23132f5c' fill-opacity='0.131'/><circle cx='31.6' cy='37.7' r='1.21' fill='%23132f5c' fill-opacity='0.174'/><circle cx='59.7' cy='37.3' r='1.56' fill='%23132f5c' fill-opacity='0.142'/><circle cx='90.9' cy='41.4' r='1.12' fill='%23132f5c' fill-opacity='0.143'/><circle cx='115.5' cy='30.8' r='1.62' fill='%23132f5c' fill-opacity='0.226'/><circle cx='130.7' cy='29.3' r='0.98' fill='%23132f5c' fill-opacity='0.236'/><circle cx='159.5' cy='31.9' r='1.53' fill='%23132f5c' fill-opacity='0.192'/><circle cx='174.5' cy='39.7' r='1' fill='%23132f5c' fill-opacity='0.147'/><circle cx='210' cy='37.9' r='1.15' fill='%23132f5c' fill-opacity='0.23'/><circle cx='219.8' cy='32.1' r='1.26' fill='%23132f5c' fill-opacity='0.127'/><circle cx='249.8' cy='37.2' r='1.04' fill='%23132f5c' fill-opacity='0.163'/><circle cx='284.2' cy='38.7' r='1.43' fill='%23132f5c' fill-opacity='0.19'/><circle cx='292.1' cy='27.8' r='1.59' fill='%23132f5c' fill-opacity='0.204'/><circle cx='315.9' cy='38.3' r='1.29' fill='%23132f5c' fill-opacity='0.208'/><circle cx='356.5' cy='28.8' r='1.33' fill='%23132f5c' fill-opacity='0.208'/><circle cx='376' cy='39.5' r='1.51' fill='%23132f5c' fill-opacity='0.23'/><circle cx='760' cy='39.5' r='1.51' fill='%23132f5c' fill-opacity='0.23'/><circle cx='15.1' cy='66.8' r='1.56' fill='%23132f5c' fill-opacity='0.17'/><circle cx='42.2' cy='61.2' r='1.39' fill='%23132f5c' fill-opacity='0.166'/><circle cx='61.9' cy='52.9' r='1.4' fill='%23132f5c' fill-opacity='0.239'/><circle cx='87.9' cy='58.1' r='1.46' fill='%23132f5c' fill-opacity='0.19'/><circle cx='113.8' cy='52.9' r='1.48' fill='%23132f5c' fill-opacity='0.124'/><circle cx='131.7' cy='55.4' r='1.44' fill='%23132f5c' fill-opacity='0.18'/><circle cx='163.1' cy='55.8' r='0.96' fill='%23132f5c' fill-opacity='0.156'/><circle cx='174.9' cy='54.4' r='1.58' fill='%23132f5c' fill-opacity='0.199'/><circle cx='210.7' cy='57.1' r='1.42' fill='%23132f5c' fill-opacity='0.144'/><circle cx='233.2' cy='67' r='1.57' fill='%23132f5c' fill-opacity='0.166'/><circle cx='248.9' cy='53.8' r='1.3' fill='%23132f5c' fill-opacity='0.22'/><circle cx='279.6' cy='67.7' r='1.14' fill='%23132f5c' fill-opacity='0.14'/><circle cx='296.2' cy='55.1' r='1.24' fill='%23132f5c' fill-opacity='0.195'/><circle cx='320.9' cy='65.8' r='1.64' fill='%23132f5c' fill-opacity='0.174'/><circle cx='4.2' cy='87.5' r='1.35' fill='%23132f5c' fill-opacity='0.157'/><circle cx='-379.8' cy='87.5' r='1.35' fill='%23132f5c' fill-opacity='0.157'/><circle cx='27.8' cy='77.8' r='1.27' fill='%23132f5c' fill-opacity='0.123'/><circle cx='55.5' cy='77.9' r='0.98' fill='%23132f5c' fill-opacity='0.196'/><circle cx='86.2' cy='86.6' r='1.52' fill='%23132f5c' fill-opacity='0.235'/><circle cx='102.9' cy='83.6' r='1.08' fill='%23132f5c' fill-opacity='0.121'/><circle cx='135.6' cy='78.5' r='1.14' fill='%23132f5c' fill-opacity='0.161'/><circle cx='156.3' cy='85.9' r='1.48' fill='%23132f5c' fill-opacity='0.167'/><circle cx='186.9' cy='77' r='1.6' fill='%23132f5c' fill-opacity='0.207'/><circle cx='230.1' cy='91' r='1.21' fill='%23132f5c' fill-opacity='0.188'/><circle cx='257' cy='91.6' r='1.27' fill='%23132f5c' fill-opacity='0.198'/><circle cx='279.8' cy='89.4' r='1.4' fill='%23132f5c' fill-opacity='0.206'/><circle cx='306.8' cy='92.2' r='1.63' fill='%23132f5c' fill-opacity='0.184'/><circle cx='320.9' cy='91' r='1.55' fill='%23132f5c' fill-opacity='0.162'/><circle cx='372.9' cy='88.6' r='1.29' fill='%23132f5c' fill-opacity='0.123'/><circle cx='4.6' cy='113.1' r='1.07' fill='%23132f5c' fill-opacity='0.16'/><circle cx='-379.4' cy='113.1' r='1.07' fill='%23132f5c' fill-opacity='0.16'/><circle cx='63.8' cy='113.8' r='1.43' fill='%23132f5c' fill-opacity='0.233'/><circle cx='91.6' cy='101' r='1.1' fill='%23132f5c' fill-opacity='0.183'/><circle cx='111.9' cy='110.4' r='1.32' fill='%23132f5c' fill-opacity='0.221'/><circle cx='128.8' cy='106' r='1.54' fill='%23132f5c' fill-opacity='0.228'/><circle cx='162' cy='116' r='1.32' fill='%23132f5c' fill-opacity='0.189'/><circle cx='180.6' cy='108.1' r='1.37' fill='%23132f5c' fill-opacity='0.123'/><circle cx='204.3' cy='106.3' r='1.51' fill='%23132f5c' fill-opacity='0.188'/><circle cx='231.2' cy='100.6' r='1.33' fill='%23132f5c' fill-opacity='0.17'/><circle cx='259.2' cy='104.1' r='1.28' fill='%23132f5c' fill-opacity='0.135'/><circle cx='281.4' cy='114.8' r='1.28' fill='%23132f5c' fill-opacity='0.158'/><circle cx='302' cy='115.2' r='1.04' fill='%23132f5c' fill-opacity='0.214'/><circle cx='343.4' cy='111.2' r='1.18' fill='%23132f5c' fill-opacity='0.163'/><circle cx='365.3' cy='111.9' r='1.04' fill='%23132f5c' fill-opacity='0.181'/><circle cx='6.9' cy='132.5' r='1.26' fill='%23132f5c' fill-opacity='0.165'/><circle cx='-377.1' cy='132.5' r='1.26' fill='%23132f5c' fill-opacity='0.165'/><circle cx='36.5' cy='126.2' r='1.09' fill='%23132f5c' fill-opacity='0.196'/><circle cx='60.5' cy='138' r='1.38' fill='%23132f5c' fill-opacity='0.223'/><circle cx='88.1' cy='137.3' r='1.58' fill='%23132f5c' fill-opacity='0.158'/><circle cx='115.2' cy='127.2' r='1.65' fill='%23132f5c' fill-opacity='0.227'/><circle cx='127.6' cy='135.9' r='1.13' fill='%23132f5c' fill-opacity='0.132'/><circle cx='154.7' cy='136.9' r='1.04' fill='%23132f5c' fill-opacity='0.168'/><circle cx='171.8' cy='126.9' r='1.43' fill='%23132f5c' fill-opacity='0.229'/><circle cx='197.5' cy='132.1' r='1.48' fill='%23132f5c' fill-opacity='0.18'/><circle cx='222.7' cy='124.7' r='1.02' fill='%23132f5c' fill-opacity='0.124'/><circle cx='252.3' cy='133.2' r='1.05' fill='%23132f5c' fill-opacity='0.142'/><circle cx='281.8' cy='140.3' r='1.6' fill='%23132f5c' fill-opacity='0.131'/><circle cx='323.4' cy='136.5' r='1.18' fill='%23132f5c' fill-opacity='0.176'/><circle cx='346.8' cy='133.7' r='0.96' fill='%23132f5c' fill-opacity='0.204'/><circle cx='366.6' cy='131.2' r='1.47' fill='%23132f5c' fill-opacity='0.169'/><circle cx='6.3' cy='156.2' r='0.96' fill='%23132f5c' fill-opacity='0.227'/><circle cx='-377.7' cy='156.2' r='0.96' fill='%23132f5c' fill-opacity='0.227'/><circle cx='39.5' cy='162.1' r='1.39' fill='%23132f5c' fill-opacity='0.169'/><circle cx='60.1' cy='164.2' r='1.51' fill='%23132f5c' fill-opacity='0.151'/><circle cx='88.2' cy='160.7' r='1.52' fill='%23132f5c' fill-opacity='0.169'/><circle cx='114.5' cy='159.3' r='1.49' fill='%23132f5c' fill-opacity='0.212'/><circle cx='135.8' cy='148.7' r='1.19' fill='%23132f5c' fill-opacity='0.176'/><circle cx='182.4' cy='158.1' r='1.11' fill='%23132f5c' fill-opacity='0.233'/><circle cx='201.2' cy='158.7' r='1.35' fill='%23132f5c' fill-opacity='0.184'/><circle cx='236.5' cy='158.4' r='1.44' fill='%23132f5c' fill-opacity='0.211'/><circle cx='243.9' cy='158' r='1.47' fill='%23132f5c' fill-opacity='0.151'/><circle cx='268.4' cy='150.8' r='1.21' fill='%23132f5c' fill-opacity='0.132'/><circle cx='306.9' cy='156.9' r='1.31' fill='%23132f5c' fill-opacity='0.236'/><circle cx='332.4' cy='158.3' r='1.52' fill='%23132f5c' fill-opacity='0.129'/><circle cx='352.4' cy='148.3' r='1.6' fill='%23132f5c' fill-opacity='0.139'/><circle cx='366.4' cy='155.9' r='1.38' fill='%23132f5c' fill-opacity='0.127'/><circle cx='10.7' cy='180.5' r='1.37' fill='%23132f5c' fill-opacity='0.164'/><circle cx='38.6' cy='181' r='1.15' fill='%23132f5c' fill-opacity='0.206'/><circle cx='51.7' cy='175.7' r='0.98' fill='%23132f5c' fill-opacity='0.139'/><circle cx='82.1' cy='186.8' r='1.47' fill='%23132f5c' fill-opacity='0.126'/><circle cx='115.6' cy='172.7' r='1.58' fill='%23132f5c' fill-opacity='0.172'/><circle cx='140' cy='175.6' r='1.32' fill='%23132f5c' fill-opacity='0.232'/><circle cx='155.5' cy='188.1' r='1.52' fill='%23132f5c' fill-opacity='0.192'/><circle cx='203.2' cy='175' r='0.99' fill='%23132f5c' fill-opacity='0.183'/><circle cx='254.9' cy='179.2' r='1.13' fill='%23132f5c' fill-opacity='0.19'/><circle cx='280.7' cy='180.5' r='1.65' fill='%23132f5c' fill-opacity='0.234'/><circle cx='295.6' cy='173.4' r='1.57' fill='%23132f5c' fill-opacity='0.214'/><circle cx='321.6' cy='176.1' r='1.43' fill='%23132f5c' fill-opacity='0.188'/><circle cx='350.3' cy='184.3' r='1.08' fill='%23132f5c' fill-opacity='0.15'/><circle cx='379.1' cy='186.4' r='0.98' fill='%23132f5c' fill-opacity='0.127'/><circle cx='763.1' cy='186.4' r='0.98' fill='%23132f5c' fill-opacity='0.127'/><circle cx='10.7' cy='206.1' r='1.02' fill='%23132f5c' fill-opacity='0.185'/><circle cx='84.9' cy='206.2' r='1.21' fill='%23132f5c' fill-opacity='0.177'/><circle cx='105.3' cy='208.2' r='1.54' fill='%23132f5c' fill-opacity='0.129'/><circle cx='158.1' cy='208.6' r='1.1' fill='%23132f5c' fill-opacity='0.171'/><circle cx='185.3' cy='201.8' r='1.41' fill='%23132f5c' fill-opacity='0.239'/><circle cx='204.8' cy='208.2' r='1.59' fill='%23132f5c' fill-opacity='0.171'/><circle cx='221.1' cy='210.4' r='1' fill='%23132f5c' fill-opacity='0.13'/><circle cx='251.7' cy='207.2' r='1.16' fill='%23132f5c' fill-opacity='0.213'/><circle cx='302.8' cy='196.9' r='1.16' fill='%23132f5c' fill-opacity='0.207'/><circle cx='320.3' cy='197.9' r='1.2' fill='%23132f5c' fill-opacity='0.207'/><circle cx='379.1' cy='211.5' r='1.59' fill='%23132f5c' fill-opacity='0.173'/><circle cx='763.1' cy='211.5' r='1.59' fill='%23132f5c' fill-opacity='0.173'/><circle cx='8.7' cy='224.9' r='1.23' fill='%23132f5c' fill-opacity='0.232'/><circle cx='-375.3' cy='224.9' r='1.23' fill='%23132f5c' fill-opacity='0.232'/><circle cx='31.7' cy='225.6' r='1.21' fill='%23132f5c' fill-opacity='0.164'/><circle cx='58.1' cy='222.8' r='1.34' fill='%23132f5c' fill-opacity='0.216'/><circle cx='89.7' cy='229.1' r='1.07' fill='%23132f5c' fill-opacity='0.211'/><circle cx='104.3' cy='219.9' r='1.31' fill='%23132f5c' fill-opacity='0.185'/><circle cx='139.9' cy='230.6' r='1.51' fill='%23132f5c' fill-opacity='0.128'/><circle cx='160.9' cy='220.9' r='1.01' fill='%23132f5c' fill-opacity='0.208'/><circle cx='172.9' cy='230.3' r='1.05' fill='%23132f5c' fill-opacity='0.209'/><circle cx='199.7' cy='223.2' r='1.49' fill='%23132f5c' fill-opacity='0.183'/><circle cx='226.2' cy='225.2' r='1.63' fill='%23132f5c' fill-opacity='0.201'/><circle cx='252.6' cy='231.8' r='1.45' fill='%23132f5c' fill-opacity='0.23'/><circle cx='281.5' cy='230.8' r='1.55' fill='%23132f5c' fill-opacity='0.217'/><circle cx='306.6' cy='235.8' r='1.4' fill='%23132f5c' fill-opacity='0.183'/><circle cx='329.1' cy='226.7' r='1.24' fill='%23132f5c' fill-opacity='0.138'/><circle cx='356.3' cy='225.9' r='1.07' fill='%23132f5c' fill-opacity='0.145'/><circle cx='368.5' cy='236' r='0.99' fill='%23132f5c' fill-opacity='0.157'/><circle cx='40.7' cy='246.6' r='0.99' fill='%23132f5c' fill-opacity='0.175'/><circle cx='67' cy='244.1' r='1.03' fill='%23132f5c' fill-opacity='0.142'/><circle cx='79.5' cy='255.7' r='1.37' fill='%23132f5c' fill-opacity='0.147'/><circle cx='104.3' cy='246.4' r='1.48' fill='%23132f5c' fill-opacity='0.157'/><circle cx='137.4' cy='251.7' r='1.13' fill='%23132f5c' fill-opacity='0.226'/><circle cx='153.3' cy='252.8' r='1.62' fill='%23132f5c' fill-opacity='0.178'/><circle cx='172.3' cy='259.6' r='1.51' fill='%23132f5c' fill-opacity='0.166'/><circle cx='230.7' cy='247.5' r='0.96' fill='%23132f5c' fill-opacity='0.177'/><circle cx='257' cy='255.6' r='1.37' fill='%23132f5c' fill-opacity='0.139'/><circle cx='273' cy='247.9' r='1.56' fill='%23132f5c' fill-opacity='0.182'/><circle cx='308.4' cy='248' r='1.32' fill='%23132f5c' fill-opacity='0.138'/><circle cx='315.5' cy='257.5' r='1.54' fill='%23132f5c' fill-opacity='0.219'/><circle cx='375.7' cy='245.2' r='1.29' fill='%23132f5c' fill-opacity='0.176'/><circle cx='759.7' cy='245.2' r='1.29' fill='%23132f5c' fill-opacity='0.176'/><circle cx='13.5' cy='282.1' r='1.16' fill='%23132f5c' fill-opacity='0.215'/><circle cx='43.1' cy='269' r='1.53' fill='%23132f5c' fill-opacity='0.145'/><circle cx='60.4' cy='270.2' r='1.53' fill='%23132f5c' fill-opacity='0.157'/><circle cx='76.8' cy='272.7' r='1.28' fill='%23132f5c' fill-opacity='0.206'/><circle cx='111.2' cy='269.3' r='1.23' fill='%23132f5c' fill-opacity='0.175'/><circle cx='137.6' cy='278.6' r='0.96' fill='%23132f5c' fill-opacity='0.165'/><circle cx='151.5' cy='277.1' r='1.27' fill='%23132f5c' fill-opacity='0.121'/><circle cx='185.1' cy='271' r='1.38' fill='%23132f5c' fill-opacity='0.155'/><circle cx='204.7' cy='272.6' r='1.19' fill='%23132f5c' fill-opacity='0.167'/><circle cx='223.9' cy='270.9' r='1.46' fill='%23132f5c' fill-opacity='0.16'/><circle cx='253.1' cy='279.8' r='1.18' fill='%23132f5c' fill-opacity='0.219'/><circle cx='293.1' cy='279' r='1.45' fill='%23132f5c' fill-opacity='0.142'/><circle cx='329.7' cy='277.6' r='1.01' fill='%23132f5c' fill-opacity='0.147'/><circle cx='341.6' cy='274.4' r='1' fill='%23132f5c' fill-opacity='0.23'/><circle cx='372.2' cy='278.5' r='1.49' fill='%23132f5c' fill-opacity='0.219'/><circle cx='9.1' cy='298.5' r='0.96' fill='%23132f5c' fill-opacity='0.168'/><circle cx='44.2' cy='304.9' r='1.41' fill='%23132f5c' fill-opacity='0.193'/><circle cx='81.3' cy='302.6' r='1.02' fill='%23132f5c' fill-opacity='0.165'/><circle cx='112.9' cy='305.5' r='1.38' fill='%23132f5c' fill-opacity='0.139'/><circle cx='138.9' cy='300.8' r='1.2' fill='%23132f5c' fill-opacity='0.18'/><circle cx='159.6' cy='308.3' r='1.31' fill='%23132f5c' fill-opacity='0.206'/><circle cx='174.9' cy='307.6' r='1.39' fill='%23132f5c' fill-opacity='0.144'/><circle cx='229.3' cy='303.4' r='1.18' fill='%23132f5c' fill-opacity='0.231'/><circle cx='251.4' cy='293.6' r='1.63' fill='%23132f5c' fill-opacity='0.136'/><circle cx='276.7' cy='301' r='1.34' fill='%23132f5c' fill-opacity='0.152'/><circle cx='308.4' cy='305.4' r='1.37' fill='%23132f5c' fill-opacity='0.135'/><circle cx='320.4' cy='306.7' r='1.12' fill='%23132f5c' fill-opacity='0.189'/><circle cx='342.7' cy='300.8' r='1' fill='%23132f5c' fill-opacity='0.124'/><circle cx='380.3' cy='307.5' r='1.41' fill='%23132f5c' fill-opacity='0.157'/><circle cx='764.3' cy='307.5' r='1.41' fill='%23132f5c' fill-opacity='0.157'/><circle cx='16' cy='322' r='1.36' fill='%23132f5c' fill-opacity='0.216'/><circle cx='59.5' cy='317.9' r='1.22' fill='%23132f5c' fill-opacity='0.188'/><circle cx='84.3' cy='320' r='1.35' fill='%23132f5c' fill-opacity='0.16'/><circle cx='100.1' cy='326.9' r='1.05' fill='%23132f5c' fill-opacity='0.235'/><circle cx='131.5' cy='322.5' r='1.39' fill='%23132f5c' fill-opacity='0.203'/><circle cx='160.3' cy='323.8' r='1.65' fill='%23132f5c' fill-opacity='0.221'/><circle cx='178.5' cy='322.9' r='1.35' fill='%23132f5c' fill-opacity='0.229'/><circle cx='204.4' cy='322.8' r='1.58' fill='%23132f5c' fill-opacity='0.158'/><circle cx='258.8' cy='327.9' r='1.37' fill='%23132f5c' fill-opacity='0.21'/><circle cx='277.6' cy='316.7' r='1.04' fill='%23132f5c' fill-opacity='0.174'/><circle cx='298.2' cy='316.4' r='1.44' fill='%23132f5c' fill-opacity='0.183'/><circle cx='320.7' cy='322.2' r='1.12' fill='%23132f5c' fill-opacity='0.128'/><circle cx='355.9' cy='326.8' r='1.56' fill='%23132f5c' fill-opacity='0.171'/><circle cx='367.3' cy='328.2' r='1.35' fill='%23132f5c' fill-opacity='0.228'/><circle cx='81' cy='340.6' r='1.58' fill='%23132f5c' fill-opacity='0.218'/><circle cx='105.6' cy='349.5' r='0.98' fill='%23132f5c' fill-opacity='0.124'/><circle cx='128.7' cy='348' r='1.6' fill='%23132f5c' fill-opacity='0.237'/><circle cx='151' cy='344.5' r='1.6' fill='%23132f5c' fill-opacity='0.228'/><circle cx='185.7' cy='345.5' r='1.28' fill='%23132f5c' fill-opacity='0.141'/><circle cx='212.4' cy='342.9' r='1.39' fill='%23132f5c' fill-opacity='0.143'/><circle cx='220.4' cy='341.3' r='1.46' fill='%23132f5c' fill-opacity='0.158'/><circle cx='258.3' cy='351.6' r='1.04' fill='%23132f5c' fill-opacity='0.204'/><circle cx='275.1' cy='340.8' r='1.11' fill='%23132f5c' fill-opacity='0.157'/><circle cx='294.8' cy='342.6' r='1.11' fill='%23132f5c' fill-opacity='0.2'/><circle cx='321.8' cy='350.8' r='1.57' fill='%23132f5c' fill-opacity='0.191'/><circle cx='344.6' cy='355.3' r='1.42' fill='%23132f5c' fill-opacity='0.153'/><circle cx='365' cy='356.2' r='1.26' fill='%23132f5c' fill-opacity='0.183'/><circle cx='4.3' cy='373.7' r='1.15' fill='%23132f5c' fill-opacity='0.15'/><circle cx='-379.7' cy='373.7' r='1.15' fill='%23132f5c' fill-opacity='0.15'/><circle cx='29' cy='368.3' r='1.48' fill='%23132f5c' fill-opacity='0.15'/><circle cx='60.8' cy='366.7' r='1.58' fill='%23132f5c' fill-opacity='0.239'/><circle cx='112.3' cy='370' r='1.6' fill='%23132f5c' fill-opacity='0.18'/><circle cx='133' cy='374.5' r='1.2' fill='%23132f5c' fill-opacity='0.199'/><circle cx='156.3' cy='372.1' r='1.54' fill='%23132f5c' fill-opacity='0.202'/><circle cx='187.7' cy='366.5' r='1.5' fill='%23132f5c' fill-opacity='0.14'/><circle cx='199.5' cy='371' r='1.49' fill='%23132f5c' fill-opacity='0.214'/><circle cx='223.5' cy='371.8' r='1.1' fill='%23132f5c' fill-opacity='0.19'/><circle cx='244.1' cy='373.6' r='1.45' fill='%23132f5c' fill-opacity='0.189'/><circle cx='270.6' cy='366.1' r='0.96' fill='%23132f5c' fill-opacity='0.18'/><circle cx='299' cy='368' r='1.51' fill='%23132f5c' fill-opacity='0.129'/><circle cx='325.2' cy='372.7' r='1.5' fill='%23132f5c' fill-opacity='0.149'/><circle cx='344.8' cy='364.2' r='1.17' fill='%23132f5c' fill-opacity='0.195'/><circle cx='368' cy='373.5' r='1.01' fill='%23132f5c' fill-opacity='0.218'/><circle cx='7.8' cy='390.2' r='1.43' fill='%23132f5c' fill-opacity='0.22'/><circle cx='-376.2' cy='390.2' r='1.43' fill='%23132f5c' fill-opacity='0.22'/><circle cx='28.5' cy='394.5' r='1.21' fill='%23132f5c' fill-opacity='0.146'/><circle cx='52.2' cy='395.8' r='1.48' fill='%23132f5c' fill-opacity='0.238'/><circle cx='83.2' cy='400.2' r='0.98' fill='%23132f5c' fill-opacity='0.149'/><circle cx='101.9' cy='394.2' r='1.16' fill='%23132f5c' fill-opacity='0.171'/><circle cx='184.5' cy='400' r='1.11' fill='%23132f5c' fill-opacity='0.15'/><circle cx='199.6' cy='395.3' r='1.6' fill='%23132f5c' fill-opacity='0.164'/><circle cx='236.2' cy='397.9' r='0.98' fill='%23132f5c' fill-opacity='0.168'/><circle cx='244.5' cy='393.3' r='1.44' fill='%23132f5c' fill-opacity='0.224'/><circle cx='282.6' cy='395.4' r='1.23' fill='%23132f5c' fill-opacity='0.221'/><circle cx='304.8' cy='391.2' r='1.19' fill='%23132f5c' fill-opacity='0.142'/><circle cx='318.3' cy='391' r='1.1' fill='%23132f5c' fill-opacity='0.176'/><circle cx='347.1' cy='404.4' r='1.43' fill='%23132f5c' fill-opacity='0.224'/><circle cx='370' cy='388.7' r='1.43' fill='%23132f5c' fill-opacity='0.164'/><circle cx='3.8' cy='414.6' r='1.13' fill='%23132f5c' fill-opacity='0.167'/><circle cx='-380.2' cy='414.6' r='1.13' fill='%23132f5c' fill-opacity='0.167'/><circle cx='39.7' cy='416.1' r='1.2' fill='%23132f5c' fill-opacity='0.138'/><circle cx='57.6' cy='424.5' r='1.46' fill='%23132f5c' fill-opacity='0.229'/><circle cx='57.6' cy='856.5' r='1.46' fill='%23132f5c' fill-opacity='0.229'/><circle cx='106' cy='412.9' r='1.57' fill='%23132f5c' fill-opacity='0.159'/><circle cx='132.3' cy='412.4' r='1.23' fill='%23132f5c' fill-opacity='0.149'/><circle cx='181.6' cy='412' r='1.17' fill='%23132f5c' fill-opacity='0.171'/><circle cx='197.8' cy='423.5' r='1.13' fill='%23132f5c' fill-opacity='0.207'/><circle cx='197.8' cy='855.5' r='1.13' fill='%23132f5c' fill-opacity='0.207'/><circle cx='222' cy='415' r='1.15' fill='%23132f5c' fill-opacity='0.206'/><circle cx='250.1' cy='426.2' r='1.11' fill='%23132f5c' fill-opacity='0.155'/><circle cx='250.1' cy='858.2' r='1.11' fill='%23132f5c' fill-opacity='0.155'/><circle cx='271.2' cy='412.2' r='0.97' fill='%23132f5c' fill-opacity='0.196'/><circle cx='305.2' cy='428.1' r='1.16' fill='%23132f5c' fill-opacity='0.2'/><circle cx='305.2' cy='860.1' r='1.16' fill='%23132f5c' fill-opacity='0.2'/><circle cx='319.2' cy='423.2' r='1.42' fill='%23132f5c' fill-opacity='0.235'/><circle cx='319.2' cy='855.2' r='1.42' fill='%23132f5c' fill-opacity='0.235'/><circle cx='343.5' cy='422.3' r='1.01' fill='%23132f5c' fill-opacity='0.171'/><path d='M22.13 97.67Q23.29 100.91 26.73 100.93Q23.49 102.09 23.47 105.53Q22.31 102.29 18.87 102.27Q22.11 101.11 22.13 97.67Z' fill='%23c2982b' fill-opacity='0.66'/><path d='M348.03 197.91Q348.66 201.12 351.89 201.63Q348.68 202.26 348.17 205.49Q347.54 202.28 344.31 201.77Q347.52 201.14 348.03 197.91Z' fill='%23c2982b' fill-opacity='0.64'/><path d='M194.15 248.68Q195.35 251.73 198.62 251.65Q195.57 252.85 195.65 256.12Q194.45 253.07 191.18 253.15Q194.23 251.95 194.15 248.68Z' fill='%23c2982b' fill-opacity='0.7'/><path d='M75.78 217.3Q76.52 220.41 79.7 220.78Q76.59 221.52 76.22 224.7Q75.48 221.59 72.3 221.22Q75.41 220.48 75.78 217.3Z' fill='%23c2982b' fill-opacity='0.63'/><path d='M41.98 341.07Q42.05 344.33 45.13 345.38Q41.87 345.45 40.82 348.53Q40.75 345.27 37.67 344.22Q40.93 344.15 41.98 341.07Z' fill='%23c2982b' fill-opacity='0.68'/><path d='M261.67 21.42Q263.57 24.57 267.18 23.87Q264.03 25.77 264.73 29.38Q262.83 26.23 259.22 26.93Q262.37 25.03 261.67 21.42Z' fill='%23c2982b' fill-opacity='0.71'/><path d='M368.06 405.46Q369.78 408.52 373.24 407.96Q370.18 409.68 370.74 413.14Q369.02 410.08 365.56 410.64Q368.62 408.92 368.06 405.46Z' fill='%23c2982b' fill-opacity='0.63'/><path d='M170.09 354.31Q170.71 357.78 174.19 358.39Q170.72 359.01 170.11 362.49Q169.49 359.02 166.01 358.41Q169.48 357.79 170.09 354.31Z' fill='%23c2982b' fill-opacity='0.56'/></svg>");

  /* hexágono de topo plano (o hexágono girado 30°) do rodapé escuro */
  --hex-tinta: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='72' height='41.57' viewBox='0 0 72 41.57'><g fill='none' stroke='%239fb0cc' stroke-opacity='.11' stroke-width='1'><path d='M24 0L12 20.78L-12 20.78L-24 0L-12 -20.78L12 -20.78Z'/><path d='M24 41.57L12 62.35L-12 62.35L-24 41.57L-12 20.79L12 20.79Z'/><path d='M96 0L84 20.78L60 20.78L48 0L60 -20.78L84 -20.78Z'/><path d='M96 41.57L84 62.35L60 62.35L48 41.57L60 20.79L84 20.79Z'/></g><g fill='none' stroke='%23d4af59' stroke-opacity='.16' stroke-width='1'><path d='M60 20.78L48 41.56L24 41.56L12 20.78L24 0L48 0Z'/></g></svg>");
  --hex-tamanho: 126px 72.75px;
  /* os dois retículos dourados são deslocados para cair exatamente em cima de
     pontos da grade de 24px — e um deles passa dentro da calha lateral, que é
     onde o fundo aparece de fato */
  --pontos-tamanho: 384px 432px;


  --ease: cubic-bezier(.22, .61, .36, 1);
  --shadow-card: 0 14px 30px -22px rgba(60, 46, 20, .55);
  --shadow-panel: 0 26px 52px -32px rgba(52, 40, 16, .5);
}

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

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
  /* a trama vive no html, não no body: é o html que pinta a tela inteira
     quando o conteúdo é mais curto que a janela */
  background-color: var(--ground);
  background-image: var(--pontos);
  background-size: var(--pontos-tamanho);
}

body {
  margin: 0;
  color: var(--text);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  /* clip (e não hidden) para não quebrar o position: sticky dos painéis */
  overflow-x: clip;
}

h1, h2, h3 {
  margin: 0 0 .6em;
  line-height: 1.15;
  letter-spacing: -.02em;
  font-weight: 620;
}

h2 { font-size: clamp(1.6rem, 3.2vw, 2.25rem); }
h3 { font-size: 1.05rem; letter-spacing: -.01em; }

p { margin: 0 0 1em; }
p:last-child { margin-bottom: 0; }

a { color: inherit; text-decoration: none; }

ul, ol { margin: 0; padding: 0; list-style: none; }

img, svg { max-width: 100%; }

::selection { background: rgba(47, 74, 205, .18); }

:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
  border-radius: 4px;
}

.skip-link {
  position: absolute;
  left: 16px;
  top: -60px;
  z-index: 999;
  padding: 10px 16px;
  background: var(--accent);
  color: #fff;
  border-radius: 8px;
  font-size: .9rem;
  transition: top .2s var(--ease);
}
.skip-link:focus { top: 16px; }

.container {
  width: 100%;
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 24px;
}

/* símbolo da marca declarado uma vez e reaproveitado com <use> */
.svg-defs {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

/* ── Barra de progresso ─────────────────────────────────── */
.scroll-progress {
  position: fixed;
  inset: 0 0 auto;
  height: 2px;
  z-index: 60;
  pointer-events: none;
}
.scroll-progress span {
  display: block;
  height: 100%;
  width: 0;
  background: linear-gradient(90deg, var(--accent), var(--accent-2));
}

/* ── Header ─────────────────────────────────────────────── */
.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  height: var(--header-h);
  display: flex;
  align-items: center;
  background: rgba(235, 227, 212, .8);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid transparent;
  transition: border-color .3s var(--ease), background .3s var(--ease);
}
.site-header.is-scrolled {
  border-bottom-color: var(--line);
  background: rgba(235, 227, 212, .95);
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--accent);
  flex-shrink: 0;
}
.brand-mark { width: 26px; height: 26px; }
.brand-name {
  color: var(--text);
  font-size: 1.12rem;
  font-weight: 640;
  letter-spacing: -.02em;
}

.nav {
  display: flex;
  align-items: center;
  gap: 26px;
}
.nav-list {
  display: flex;
  align-items: center;
  gap: 24px;
}
.nav-list a {
  position: relative;
  font-size: .925rem;
  color: var(--text-muted);
  transition: color .2s var(--ease);
}
.nav-list a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -6px;
  height: 1.5px;
  background: var(--accent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .25s var(--ease);
}
.nav-list a:hover,
.nav-list a.is-active { color: var(--text); }
.nav-list a.is-active::after { transform: scaleX(1); }

.nav-toggle {
  display: none;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface);
  cursor: pointer;
}
.nav-toggle span {
  display: block;
  width: 18px;
  height: 1.5px;
  margin: 3.5px auto;
  background: var(--text);
  transition: transform .25s var(--ease), opacity .2s var(--ease);
}
.nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(5px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-5px) rotate(-45deg); }

/* ── Botões ─────────────────────────────────────────────── */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 13px 22px;
  border: 1px solid transparent;
  border-radius: 10px;
  font: inherit;
  font-size: .95rem;
  font-weight: 560;
  cursor: pointer;
  white-space: nowrap;
  transition: transform .2s var(--ease), background .2s var(--ease),
              border-color .2s var(--ease), box-shadow .25s var(--ease);
}
.btn-sm { padding: 9px 16px; font-size: .9rem; }
.btn-block { width: 100%; }

.btn-primary {
  background: var(--accent);
  color: #fff;
  box-shadow: 0 10px 22px -14px rgba(47, 74, 205, .9);
}
.btn-primary:hover {
  background: var(--accent-hover);
  transform: translateY(-1px);
}

.btn-ghost {
  background: transparent;
  border-color: var(--line);
  color: var(--text);
}
.btn-ghost:hover {
  border-color: #cdbfa6;
  background: rgba(255, 255, 255, .6);
}

/* ── Painéis empilhados ─────────────────────────────────── */
/* Cada seção é um card que não ocupa a tela inteira: sobra fundo em volta,
   então dá para ver a pilha e o card seguinte subindo por baixo. */
.stack {
  position: relative;
  padding: 14px var(--gutter) 0;
}

.panel {
  position: sticky;
  top: calc(var(--header-h) + var(--peek, 0px));
  /* piso baixo, só para o card curto não virar tarja: a altura real vem do
     conteúdo. Em px no teto, senão telas altas voltam a criar espaço morto */
  min-height: min(48vh, 430px);
  max-width: 1240px;
  margin: 0 auto 12px;
  display: flex;
  align-items: center;
  padding: clamp(28px, 3.8vh, 48px) 0;
  overflow: hidden;
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: var(--panel-radius);
  box-shadow: var(--shadow-panel);
  scroll-margin-top: calc(var(--header-h) + 16px);
}
/* dentro do card quem limita a largura é o próprio card */
.panel > .container {
  position: relative;
  max-width: none;
  padding-inline: var(--card-pad);
}

/* o header é full-bleed, então alinha somando recuo do card + respiro interno */
.site-header .container {
  max-width: calc(1240px + 2 * var(--gutter));
  padding-inline: calc(var(--gutter) + var(--card-pad));
}
/* o rodapé já é um card, então só o respiro interno */
.site-footer .container {
  max-width: none;
  padding-inline: var(--card-pad);
}

/* alterna o creme para o empilhamento ficar legível */
.panel:nth-child(even) { background: var(--bg-2); }

/* cada painel para um pouco mais abaixo: aparece a borda do card anterior */
.panel:nth-child(2) { --peek: 8px; }
.panel:nth-child(3) { --peek: 16px; }
.panel:nth-child(4) { --peek: 24px; }
.panel:nth-child(5) { --peek: 32px; }
.panel:nth-child(6) { --peek: 40px; }
.panel:nth-child(7) { --peek: 48px; }

.panel-hero {
  /* mais alto que os demais porque a arte 3D mede ~435px */
  min-height: min(64vh, 560px);
  background:
    radial-gradient(120% 80% at 78% 0%, rgba(47, 74, 205, .1), transparent 62%),
    radial-gradient(90% 70% at 5% 100%, rgba(15, 158, 118, .09), transparent 60%),
    var(--bg);
}

/* ── Hero ───────────────────────────────────────────────── */

/* ── Arte do hero: esfera armilar em CSS 3D ─────────────── */
.hero-art {
  position: absolute;
  top: 44%;
  right: clamp(-52px, -2.2vw, -14px);
  width: clamp(360px, 35vw, 500px);
  aspect-ratio: 1;
  transform: translateY(-50%);
  perspective: 1100px;
  pointer-events: none;
}

.art-halo {
  position: absolute;
  inset: -12%;
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 50%, rgba(47, 74, 205, .13), transparent 62%),
    radial-gradient(circle at 62% 62%, rgba(15, 158, 118, .1), transparent 58%);
  animation: art-respira 12s var(--ease) infinite;
}

.art-cena {
  position: absolute;
  inset: 0;
  transform-style: preserve-3d;
  /* o primeiro quadro já é a pose final: com movimento desligado, as camadas
     continuam em perspectiva em vez de ficarem chapadas */
  transform: rotateX(7deg) rotateY(-25deg) translateY(0);
  animation: art-flutua 18s ease-in-out infinite;
}

/* as três camadas: o translateZ é o que cria a profundidade de verdade */
.art-camada {
  position: absolute;
  border-radius: 16px;
  transform-style: preserve-3d;
}

.art-camada-malha {
  left: 38%;
  top: 4%;
  width: 58%;
  height: 42%;
  transform: translateZ(-120px);
  border: 1px solid rgba(47, 74, 205, .18);
  background-image: radial-gradient(rgba(47, 74, 205, .3) 1.2px, transparent 1.2px);
  background-size: 18px 18px;
  opacity: .7;
}

.art-camada-blocos {
  left: 26%;
  top: 20%;
  width: 58%;
  height: 42%;
  transform: translateZ(-40px);
  border: 1px solid var(--line);
  background: rgba(255, 253, 249, .82);
  box-shadow: 0 20px 34px -26px rgba(60, 46, 20, .7);
}
.art-bloco {
  position: absolute;
  border-radius: 6px;
  background: rgba(47, 74, 205, .16);
  border: 1px solid rgba(47, 74, 205, .3);
}
.art-bloco-1 { left: 12%; top: 18%; width: 30%; height: 22%; }
.art-bloco-2 { right: 12%; top: 18%; width: 30%; height: 22%; }
.art-bloco-3 { left: 50%; bottom: 16%; width: 34%; height: 24%; transform: translateX(-50%); background: rgba(15, 158, 118, .14); border-color: rgba(15, 158, 118, .32); }
.art-fio {
  position: absolute;
  height: 1px;
  background: rgba(47, 74, 205, .35);
}
.art-fio-1 { left: 27%; top: 29%; width: 46%; }
.art-fio-2 { left: 50%; top: 29%; width: 1px; height: 31%; }
.art-pulso {
  position: absolute;
  left: 27%;
  top: 29%;
  width: 6px;
  height: 6px;
  margin: -3px 0 0 -3px;
  border-radius: 50%;
  background: var(--accent);
  animation: art-corre 4.5s var(--ease) infinite;
}

.art-camada-codigo {
  left: 2%;
  top: 36%;
  width: 60%;
  height: 44%;
  padding: 26px 18px 18px;
  transform: translateZ(70px);
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(255, 253, 249, .96);
  box-shadow: 0 30px 44px -28px rgba(60, 46, 20, .75);
}
.art-barra-topo {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 18px;
  border-bottom: 1px solid var(--line-soft);
  border-radius: 14px 14px 0 0;
  background: rgba(235, 227, 212, .5);
}
.art-linha,
.art-cursor {
  display: block;
  height: 6px;
  margin: 0 0 9px var(--ind, 0);
  border-radius: 3px;
  width: var(--w, 30%);
  background: rgba(25, 23, 16, .2);
  transform-origin: left center;
  animation: art-escreve 13s ease-in-out infinite;
  animation-delay: calc(var(--i) * .3s);
}
.art-linha-azul { background: rgba(47, 74, 205, .55); }
.art-linha-verde { background: rgba(15, 158, 118, .55); }
.art-cursor {
  width: 9px;
  height: 12px;
  border-radius: 2px;
  background: var(--accent);
  /* só pisca: somar o art-escreve brigaria pela mesma propriedade opacity */
  animation: art-pisca 1.1s steps(1) infinite;
}

@keyframes art-flutua {
  0%, 100% { transform: rotateX(7deg) rotateY(-25deg) translateY(0); }
  50%      { transform: rotateX(5deg) rotateY(-19deg) translateY(-12px); }
}
/* apaga e reescreve: 0% e 100% são o estado completo, então parado fica cheio */
@keyframes art-escreve {
  0%, 46%  { transform: scaleX(1); opacity: 1; }
  53%, 63% { transform: scaleX(0); opacity: 0; }
  73%, 100% { transform: scaleX(1); opacity: 1; }
}
@keyframes art-pisca {
  0%, 49%   { opacity: 1; }
  50%, 100% { opacity: .15; }
}
/* percentagem em translate se refere ao próprio tamanho (6px), então o
   percurso é feito com left/top, que se referem à camada */
@keyframes art-corre {
  0%        { left: 27%; top: 29%; opacity: 0; }
  10%, 55%  { opacity: 1; }
  55%       { left: 73%; top: 29%; }
  72%       { left: 73%; top: 29%; }
  100%      { left: 73%; top: 60%; opacity: 0; }
}
@keyframes art-respira {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%      { opacity: .78; transform: scale(1.05); }
}

@media (max-width: 1023px) {
  .hero-art { display: none; }
}

.eyebrow {
  margin: 0 0 16px;
  font-size: .78rem;
  font-weight: 640;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--accent);
}

.hero-title {
  max-width: 20ch;
  font-size: clamp(2rem, 4.6vw, 3.3rem);
  letter-spacing: -.035em;
  font-weight: 660;
  text-wrap: balance;
}

.hero-lead {
  max-width: 58ch;
  margin-top: 4px;
  font-size: clamp(1rem, 1.5vw, 1.12rem);
  color: var(--text-muted);
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 30px;
}

.hero-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin-top: clamp(32px, 6vh, 60px);
  background: var(--line-soft);
  border: 1px solid var(--line-soft);
  border-radius: var(--radius);
  overflow: hidden;
}
.hero-facts li {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 18px 20px;
  background: var(--surface);
}
.hero-facts strong { font-weight: 620; font-size: .96rem; }
.hero-facts span { font-size: .88rem; color: var(--text-dim); }

.scroll-hint {
  position: absolute;
  left: 50%;
  bottom: 24px;
  transform: translateX(-50%);
  width: 26px;
  height: 42px;
  border: 1px solid var(--line);
  border-radius: 14px;
  display: grid;
  place-items: start center;
  padding-top: 8px;
  background: rgba(255, 255, 255, .5);
}
.scroll-hint span {
  width: 3px;
  height: 8px;
  border-radius: 2px;
  background: var(--accent);
  animation: hint 1.9s var(--ease) infinite;
}
@keyframes hint {
  0%, 100% { transform: translateY(0); opacity: 1; }
  55%      { transform: translateY(13px); opacity: .15; }
}

/* ── Cabeçalho de seção ─────────────────────────────────── */
.section-head {
  max-width: 62ch;
  margin-bottom: clamp(20px, 3.4vh, 36px);
}
.section-head h2 { margin-bottom: .35em; }
.section-lead {
  font-size: 1rem;
  line-height: 1.55;
  color: var(--text-muted);
}

/* ── Sobre ──────────────────────────────────────────────── */
.about-grid {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: clamp(32px, 5vw, 68px);
  align-items: center;
  width: 100%;
}
.about-text h2 { margin-bottom: .55em; }
.about-text p { color: var(--text-muted); }
.about-note {
  margin-top: 20px !important;
  padding-left: 16px;
  border-left: 2px solid var(--accent);
  color: var(--text) !important;
  font-size: 1rem;
}

.principles {
  display: grid;
  gap: 12px;
}
.principles li {
  padding: 20px 22px;
  background: var(--surface);
  border: 1px solid var(--line-soft);
  border-radius: var(--radius);
  box-shadow: var(--shadow-card);
}
.principles h3 { margin-bottom: .35em; }
.principles p {
  font-size: .93rem;
  color: var(--text-dim);
}

/* ── Cards ──────────────────────────────────────────────── */
.cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(285px, 1fr));
  gap: 16px;
}
.cards-4 { grid-template-columns: repeat(auto-fit, minmax(232px, 1fr)); }
/* entre tablet e desktop, 2×2 fica melhor que 3 + 1 órfão */
@media (min-width: 621px) and (max-width: 1080px) {
  .cards-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.card {
  padding: 20px 20px 22px;
  background: var(--surface);
  border: 1px solid var(--line-soft);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
  transition: transform .3s var(--ease), border-color .3s var(--ease),
              box-shadow .3s var(--ease);
}
.card:hover {
  transform: translateY(-3px);
  border-color: #d9cdb6;
  box-shadow: 0 20px 34px -24px rgba(60, 46, 20, .7);
}
.card-icon {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  margin-bottom: 13px;
  border: 1px solid rgba(47, 74, 205, .18);
  border-radius: 11px;
  background: var(--accent-tint);
  color: var(--accent);
}
.card-icon svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.card p {
  font-size: .92rem;
  line-height: 1.5;
  color: var(--text-muted);
}

/* card de convite: ocupa a linha inteira da grade e fecha a seção */
.card-convite {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px 24px;
  padding: 14px 20px;
  border-color: rgba(47, 74, 205, .28);
  background:
    linear-gradient(100deg, var(--accent-tint), transparent 62%),
    var(--surface);
}
.card-convite:hover {
  /* não é card navegável, é chamada: sem o levantar dos outros */
  transform: none;
  border-color: rgba(47, 74, 205, .45);
}
.card-convite h3 { margin-bottom: .15em; }
.card-convite p { max-width: 66ch; }
.card-convite .btn { flex-shrink: 0; }

.section-foot {
  max-width: 72ch;
  margin-top: 26px;
  font-size: .93rem;
  color: var(--text-dim);
}
.section-foot a {
  color: var(--accent);
  border-bottom: 1px solid rgba(47, 74, 205, .35);
}
.section-foot a:hover { border-bottom-color: var(--accent); }

/* ── Processo: linha do tempo ───────────────────────────── */
/* Cinco etapas lado a lado, ligadas por um caminho pontilhado que passa pelas
   bolinhas — em duas colunas a ordem ficava ambígua (01 e 02 em linhas
   diferentes de leitura). Abaixo de 980px a mesma linha vira vertical. */
.steps {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 26px;
  width: 100%;
}

.step {
  position: relative;
  padding-top: 46px;
}

.step-num {
  position: absolute;
  top: 0;
  left: 0;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--dourado);
  color: var(--azul-escuro);
  font-size: .78rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  box-shadow: 0 0 0 4px rgba(194, 152, 43, .14);
}

/* o caminho entre uma bolinha e a seguinte: a mesma estrelinha do fundo,
   repetida — o tracejado virou trilha de estrelas */
.step:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 10px;
  left: 38px;
  right: -34px;
  height: 10px;
  background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='10' viewBox='0 0 20 10'><path d='M10 1.8Q10.48 4.52 13.2 5Q10.48 5.48 10 8.2Q9.52 5.48 6.8 5Q9.52 4.52 10 1.8Z' fill='%23c2982b' fill-opacity='.8'/></svg>");
  background-size: 20px 10px;
  background-position: center;
  background-repeat: repeat-x;
}

.step h3 {
  margin-bottom: .3em;
  /* reserva duas linhas: os parágrafos das cinco etapas começam alinhados
     mesmo quando um título quebra */
  min-height: 2.4em;
  font-size: .98rem;
}
.step p {
  font-size: .86rem;
  line-height: 1.5;
  color: var(--text-muted);
}

/* linha do tempo na vertical quando não há largura para cinco colunas */
@media (max-width: 980px) {
  .steps {
    grid-template-columns: 1fr;
    gap: 0;
    max-width: 660px;
  }
  .step {
    padding: 0 0 24px 46px;
  }
  .step:last-child { padding-bottom: 0; }
  .step-num { top: 2px; }
  .step:not(:last-child)::after {
    top: 38px;
    left: 10px;
    right: auto;
    bottom: 4px;
    width: 10px;
    height: auto;
    background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='20' viewBox='0 0 10 20'><path d='M5 6.8Q5.48 9.52 8.2 10Q5.48 10.48 5 13.2Q4.52 10.48 1.8 10Q4.52 9.52 5 6.8Z' fill='%23c2982b' fill-opacity='.8'/></svg>");
    background-size: 10px 20px;
    background-position: center;
    background-repeat: repeat-y;
  }
  .step p { font-size: .9rem; }
  /* na vertical o título não precisa reservar duas linhas */
  .step h3 { min-height: 0; }
}

/* ── Modelos ────────────────────────────────────────────── */
.models {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 16px;
  align-items: start;
  width: 100%;
}
.model {
  position: relative;
  padding: 26px 24px;
  background: var(--surface);
  border: 1px solid var(--line-soft);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
}
.model-featured {
  border-color: rgba(47, 74, 205, .35);
  background:
    linear-gradient(180deg, var(--accent-tint), transparent 60%),
    var(--surface-2);
}
.model-who {
  margin: 0 0 8px;
  font-size: .74rem;
  font-weight: 640;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--text-dim);
}
.model-featured .model-who { color: var(--accent); }
.model h3 { font-size: 1.12rem; }
.model-desc {
  color: var(--text-muted);
  font-size: .94rem;
  padding-bottom: 16px;
  margin-bottom: 16px;
  border-bottom: 1px solid var(--line-soft);
}
.model-list {
  display: grid;
  gap: 10px;
}
.model-list li {
  position: relative;
  padding-left: 22px;
  font-size: .92rem;
  color: var(--text-muted);
}
.model-list li::before {
  content: "";
  position: absolute;
  left: 3px;
  top: .55em;
  width: 7px;
  height: 7px;
  border-radius: 2px;
  background: var(--accent-2);
}

/* ── Contato ────────────────────────────────────────────── */
.panel-contact {
  /* --bg (e não --bg-2) para não repetir o tom do card anterior */
  background:
    radial-gradient(70% 100% at 12% 0%, rgba(47, 74, 205, .09), transparent 65%),
    var(--bg);
}
.contato-bloco {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: clamp(28px, 5vw, 60px);
  align-items: center;
  width: 100%;
}
.contato-lead {
  max-width: 54ch;
  color: var(--text-muted);
}

/* segunda metade do card: só o endereço e o botão */
.contato-cartao {
  padding: 26px 24px;
  background: var(--surface);
  border: 1px solid var(--line-soft);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
}
.email-rotulo {
  display: block;
  margin-bottom: 8px;
  font-size: .78rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--text-dim);
}
.email-linha {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.email-endereco {
  font-size: clamp(1.02rem, 1.6vw, 1.24rem);
  font-weight: 620;
  letter-spacing: -.02em;
  color: var(--text);
  border-bottom: 2px solid rgba(47, 74, 205, .22);
  transition: color .2s var(--ease), border-color .2s var(--ease);
}
.email-endereco:hover {
  color: var(--accent);
  border-bottom-color: var(--accent);
}

.botao-copiar {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: transparent;
  color: var(--text-dim);
  cursor: pointer;
  transition: color .2s var(--ease), border-color .2s var(--ease), background .2s var(--ease);
}
.botao-copiar:hover {
  color: var(--accent);
  border-color: rgba(47, 74, 205, .4);
  background: var(--accent-tint);
}
.botao-copiar svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
/* o tique só aparece depois de copiar */
.icone-copiado { display: none; }
.botao-copiar.is-ok {
  color: var(--ok);
  border-color: rgba(10, 110, 82, .4);
  background: rgba(15, 158, 118, .08);
}
.botao-copiar.is-ok .icone-copiar { display: none; }
.botao-copiar.is-ok .icone-copiado { display: block; }

.email-aviso {
  margin: 12px 0 0;
  min-height: 1.3em;
  font-size: .84rem;
  color: var(--ok);
}
.email-aviso.is-erro { color: var(--erro); }

/* ── Footer ─────────────────────────────────────────────── */
.site-footer {
  position: relative;
  z-index: 1;
  /* mesma caixa dos painéis: recuo lateral, largura máxima e cantos do card */
  width: min(1240px, calc(100% - 2 * var(--gutter)));
  margin: 0 auto 14px;
  padding: 30px 0 32px;
  border-radius: var(--panel-radius);
  background-color: var(--tinta);
  background-image: var(--hex-tinta);
  background-size: var(--hex-tamanho);
  color: var(--tinta-texto);
  /* o símbolo da marca lê estas variáveis por herança */
  --accent-2: var(--tinta-accent-2);
}
.footer-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 14px 26px;
}
.footer-brand {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--tinta-accent);
  font-weight: 620;
}
.footer-brand span { color: var(--tinta-texto); }
.footer-brand .brand-mark { width: 22px; height: 22px; }
.footer-copy {
  margin: 0;
  font-size: .90rem;

}
.footer-nav {
  display: flex;
  gap: 20px;
  font-size: .88rem;
}
.footer-nav a { color: var(--tinta-muted); }
.footer-nav a:hover { color: var(--tinta-texto); }
.site-footer :focus-visible { outline-color: var(--tinta-accent); }

/* ── Reveal no scroll ───────────────────────────────────── */
.reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .6s var(--ease), transform .6s var(--ease);
  transition-delay: var(--reveal-delay, 0ms);
}
.reveal.is-visible {
  opacity: 1;
  transform: none;
}

/* ── Responsivo ─────────────────────────────────────────── */
@media (max-width: 940px) {
  .about-grid,
  .contato-bloco { grid-template-columns: 1fr; }
  .hero-facts { grid-template-columns: 1fr; }
}

/* telas estreitas ou baixas: a pilha vira rolagem normal, senão o painel
   seguinte cortaria o fim do anterior. O limite de altura é o do painel
   mais alto (serviços, ~736px + 82px de recuo do topo) — se o conteúdo
   encurtar, dá para baixar o valor aqui e no matchMedia do main.js */
@media (max-width: 880px), (max-height: 840px) {
  .panel {
    /* relative, e não static: o painel precisa continuar sendo a referência
       dos filhos absolutos (grade do hero, seta de rolagem) */
    position: relative;
    top: auto;
    min-height: 0;
    margin-bottom: 14px;
    padding: 44px 0;
  }
  .panel:nth-child(n) { --peek: 0px; }
}

@media (max-width: 880px) {
  .nav {
    position: fixed;
    top: var(--header-h);
    left: 0;
    right: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
    padding: 18px 24px 26px;
    background: var(--bg);
    border-bottom: 1px solid var(--line);
    box-shadow: 0 24px 36px -30px rgba(60, 46, 20, .8);
    transform: translateY(-12px);
    opacity: 0;
    visibility: hidden;
    transition: opacity .25s var(--ease), transform .25s var(--ease), visibility .25s;
  }
  .nav.is-open {
    opacity: 1;
    visibility: visible;
    transform: none;
  }
  .nav-list {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }
  .nav-list a {
    display: block;
    padding: 13px 2px;
    font-size: 1rem;
    border-bottom: 1px solid var(--line-soft);
  }
  .nav-list a::after { display: none; }
  .nav-cta { margin-top: 16px; padding: 12px 18px; }
  .nav-toggle { display: block; }
}

@media (max-width: 620px) {
  body { font-size: 16px; }
  .container { padding: 0 20px; }
  .step { grid-template-columns: 50px 1fr; }
  .hero-actions .btn { flex: 1 1 100%; }
  .card-convite .btn { width: 100%; }
  .scroll-hint { display: none; }
  .footer-inner { flex-direction: column; align-items: flex-start; }
}

/* ── Preferência por menos movimento ───────────────────── */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *,
  *::before,
  *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
  .reveal { opacity: 1; transform: none; }
}
