/* =========================================================
   Watercolor.css — manchas de aquarela em SVG inline
   Gerado via feTurbulence + feDisplacementMap + gradientes,
   sem imagens externas. Uso: aplicar classes .wc-section
   + .wc-corner-* em containers com position:relative/overflow:hidden.
   ========================================================= */

.wc-section{
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
.wc-section > .container,
.wc-section > *{ position: relative; z-index: 1; }

.wc-blob{
  content: "";
  position: absolute;
  z-index: 0;
  pointer-events: none;
  background-repeat: no-repeat;
  background-size: contain;
  opacity: 0.75;
  mix-blend-mode: multiply;
}

/* ---- Manchas: navy, azul médio, verde-água, azul claro ---- */
.wc-blob-navy{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 400'%3E%3Cdefs%3E%3Cfilter id='t' x='-50%25' y='-50%25' width='200%25' height='200%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.010 0.016' numOctaves='3' seed='4' result='n'/%3E%3CfeDisplacementMap in='SourceGraphic' in2='n' scale='70'/%3E%3CfeGaussianBlur stdDeviation='10'/%3E%3C/filter%3E%3CradialGradient id='g' cx='50%25' cy='50%25' r='50%25'%3E%3Cstop offset='0%25' stop-color='%2316324A' stop-opacity='0.55'/%3E%3Cstop offset='60%25' stop-color='%2316324A' stop-opacity='0.28'/%3E%3Cstop offset='100%25' stop-color='%2316324A' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Ccircle cx='200' cy='200' r='180' fill='url(%23g)' filter='url(%23t)'/%3E%3C/svg%3E");
}
.wc-blob-blue{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 400'%3E%3Cdefs%3E%3Cfilter id='t' x='-50%25' y='-50%25' width='200%25' height='200%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.013 0.02' numOctaves='3' seed='11' result='n'/%3E%3CfeDisplacementMap in='SourceGraphic' in2='n' scale='65'/%3E%3CfeGaussianBlur stdDeviation='9'/%3E%3C/filter%3E%3CradialGradient id='g' cx='50%25' cy='50%25' r='50%25'%3E%3Cstop offset='0%25' stop-color='%234A7BA6' stop-opacity='0.6'/%3E%3Cstop offset='60%25' stop-color='%234A7BA6' stop-opacity='0.25'/%3E%3Cstop offset='100%25' stop-color='%234A7BA6' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Ccircle cx='200' cy='200' r='180' fill='url(%23g)' filter='url(%23t)'/%3E%3C/svg%3E");
}
.wc-blob-indigo{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 400'%3E%3Cdefs%3E%3Cfilter id='t' x='-50%25' y='-50%25' width='200%25' height='200%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.011 0.017' numOctaves='3' seed='23' result='n'/%3E%3CfeDisplacementMap in='SourceGraphic' in2='n' scale='75'/%3E%3CfeGaussianBlur stdDeviation='11'/%3E%3C/filter%3E%3CradialGradient id='g' cx='50%25' cy='50%25' r='50%25'%3E%3Cstop offset='0%25' stop-color='%232B3F7E' stop-opacity='0.65'/%3E%3Cstop offset='60%25' stop-color='%232B3F7E' stop-opacity='0.28'/%3E%3Cstop offset='100%25' stop-color='%232B3F7E' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Ccircle cx='200' cy='200' r='180' fill='url(%23g)' filter='url(%23t)'/%3E%3C/svg%3E");
}
.wc-blob-blue-light{
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 400'%3E%3Cdefs%3E%3Cfilter id='t' x='-50%25' y='-50%25' width='200%25' height='200%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.014 0.02' numOctaves='2' seed='31' result='n'/%3E%3CfeDisplacementMap in='SourceGraphic' in2='n' scale='55'/%3E%3CfeGaussianBlur stdDeviation='8'/%3E%3C/filter%3E%3CradialGradient id='g' cx='50%25' cy='50%25' r='50%25'%3E%3Cstop offset='0%25' stop-color='%238FB4CC' stop-opacity='0.6'/%3E%3Cstop offset='100%25' stop-color='%238FB4CC' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Ccircle cx='200' cy='200' r='180' fill='url(%23g)' filter='url(%23t)'/%3E%3C/svg%3E");
}

/* ---- Posicionamento nos cantos ---- */
.wc-tl{ top: -12%; left: -14%; width: 55vw; max-width: 480px; height: 55vw; max-height: 480px; }
.wc-tr{ top: -14%; right: -16%; width: 58vw; max-width: 520px; height: 58vw; max-height: 520px; }
.wc-br{ bottom: -16%; right: -14%; width: 60vw; max-width: 520px; height: 60vw; max-height: 520px; }
.wc-bl{ bottom: -14%; left: -16%; width: 55vw; max-width: 460px; height: 55vw; max-height: 460px; }
.wc-mid-r{ top: 30%; right: -20%; width: 50vw; max-width: 460px; height: 50vw; max-height: 460px; }

/* Reduz um pouco em telas grandes para manter sutileza */
@media (min-width: 1100px){
  .wc-blob{ opacity: 0.65; }
}

/* ---- Textura de fundo geral (muito sutil) para a página ---- */
.wc-page-texture{
  background-image:
    radial-gradient(1200px 700px at 10% -10%, rgba(43,63,126,0.10), transparent 60%),
    radial-gradient(1000px 700px at 110% 10%, rgba(74,123,166,0.10), transparent 55%);
  background-repeat: no-repeat;
}

/* ---- Animação "fluxo" para o Projeto Fluir ---- */
@keyframes wc-drift{
  0%   { transform: translate(0, 0) scale(1) rotate(0deg); }
  50%  { transform: translate(3%, -4%) scale(1.06) rotate(6deg); }
  100% { transform: translate(0, 0) scale(1) rotate(0deg); }
}
@keyframes wc-drift-rev{
  0%   { transform: translate(0, 0) scale(1) rotate(0deg); }
  50%  { transform: translate(-4%, 3%) scale(1.08) rotate(-5deg); }
  100% { transform: translate(0, 0) scale(1) rotate(0deg); }
}
.wc-flow .wc-blob{ animation: wc-drift 22s ease-in-out infinite; }
.wc-flow .wc-blob.wc-alt{ animation: wc-drift-rev 26s ease-in-out infinite; }

@media (prefers-reduced-motion: reduce){
  .wc-flow .wc-blob{ animation: none; }
}

/* ---- Divisor ondulado entre seções (SVG inline via background) ---- */
.wc-wave{
  display: block;
  width: 100%;
  height: 48px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 60' preserveAspectRatio='none'%3E%3Cpath d='M0 30 C 150 60 300 0 450 25 C 600 50 750 5 900 28 C 1050 50 1150 20 1200 30 L1200 60 L0 60 Z' fill='%23FAF7EF'/%3E%3C/svg%3E");
  background-size: 100% 100%;
}
