/* MANATAI VA'A — section d'entrée immersive du site ([vaa_entree]). */
.ve { position: relative; overflow: hidden; isolation: isolate; border-radius: 30px; margin: 10px auto 30px; max-width: 1100px; color: #fff;
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Roboto, system-ui, sans-serif; line-height: 1.5;
  padding: clamp(30px, 7vw, 76px) clamp(20px, 6vw, 70px) clamp(110px, 14vw, 150px);
  background: radial-gradient(circle at 88% 12%, #ffd166 0 64px, rgba(255,182,39,.32) 65px 84px, transparent 85px),
    radial-gradient(700px 420px at 0% 0%, rgba(34,211,230,.45), transparent 65%),
    linear-gradient(160deg, #13b5c9 0%, #0b6f80 40%, #05303a 75%, #031519 100%);
  box-shadow: 0 30px 70px rgba(3,21,25,.35); }
.ve *, .ve *::before { box-sizing: border-box; }
.ve-houle { position: absolute; left: -50%; width: 200%; height: 160px; bottom: -30px; z-index: -1; opacity: .4;
  background: radial-gradient(70px 26px at 35px 0, transparent 52px, rgba(255,255,255,.75) 53px 56px, transparent 57px) 0 0/105px 46px repeat-x; animation: ve-houle 8s linear infinite; }
.ve-houle.ve-h2 { bottom: 10px; opacity: .22; animation-duration: 13s; animation-direction: reverse; }
.ve-houle.ve-h3 { bottom: 52px; opacity: .12; animation-duration: 18s; }
@keyframes ve-houle { to { transform: translateX(105px); } }
.ve-surtitre { display: inline-flex; align-items: center; gap: 8px; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.28); border-radius: 999px;
  padding: 7px 15px; font-weight: 800; letter-spacing: .14em; font-size: .72rem; text-transform: uppercase; backdrop-filter: blur(6px); }
.ve-surtitre i { width: 8px; height: 8px; border-radius: 50%; background: #ffd166; box-shadow: 0 0 10px #ffd166; animation: ve-pulse 1.6s infinite; }
@keyframes ve-pulse { 50% { opacity: .35; } }
.ve h2.ve-titre { margin: 18px 0 8px; font-size: clamp(2.5rem, 8vw, 5rem); line-height: .98; font-weight: 900; letter-spacing: -.035em; color: #fff; text-shadow: 0 10px 30px rgba(0,0,0,.25); border: 0; padding: 0; }
.ve h2.ve-titre span { display: block; background: linear-gradient(90deg, #ffd166, #ffb627 50%, #ff8f1f); -webkit-background-clip: text; background-clip: text; color: transparent; }
.ve-signature { font-weight: 800; letter-spacing: .2em; font-size: .78rem; color: #b8f3fa; margin: 0 0 22px; }
.ve-texte { max-width: 640px; font-size: clamp(1rem, 2.1vw, 1.16rem); opacity: .95; }
.ve-texte p { margin: 0 0 14px; color: #fff; }
.ve-texte strong { color: #ffd166; }
.ve-atouts { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin: 26px 0 30px; max-width: 760px; }
.ve-atout { background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2); border-radius: 18px; padding: 14px 14px 12px; backdrop-filter: blur(8px); }
.ve-atout b { display: block; font-size: 1.6rem; font-weight: 900; line-height: 1.05; letter-spacing: -.02em; }
.ve-atout span { font-size: .78rem; opacity: .85; text-transform: uppercase; letter-spacing: .06em; font-weight: 700; }
.ve-action { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }
.ve a.ve-bouton { position: relative; display: inline-flex; align-items: center; gap: 12px; padding: 22px 40px; border-radius: 999px; text-decoration: none;
  background: linear-gradient(135deg, #ffd166, #ffb627 45%, #ff8f1f); color: #241300; font-weight: 900; font-size: clamp(1.1rem, 2.6vw, 1.45rem); letter-spacing: .12em;
  box-shadow: 0 18px 44px rgba(255,140,0,.5), inset 0 1px 0 rgba(255,255,255,.55); transition: transform .15s; }
.ve a.ve-bouton::after { content: ""; position: absolute; inset: -6px; border-radius: 999px; border: 2px solid rgba(255,209,102,.6); animation: ve-anneau 2.2s ease-out infinite; }
@keyframes ve-anneau { from { opacity: .9; transform: scale(1); } to { opacity: 0; transform: scale(1.18); } }
.ve a.ve-bouton:hover { transform: translateY(-2px); }
.ve a.ve-bouton svg { width: 24px; height: 24px; fill: currentColor; }
.ve-sous { font-size: .86rem; opacity: .85; max-width: 320px; }
.ve-sos { position: absolute; right: clamp(16px, 4vw, 40px); bottom: clamp(18px, 3vw, 30px); display: inline-flex; align-items: center; gap: 8px; text-decoration: none;
  background: linear-gradient(135deg, #ff4d4f, #c81e24); color: #fff !important; font-weight: 900; letter-spacing: .1em; font-size: .78rem; padding: 10px 16px; border-radius: 999px;
  box-shadow: 0 8px 22px rgba(224,38,43,.45); }
@media (max-width: 640px) { .ve { border-radius: 22px; } .ve-sos { position: static; margin-top: 18px; } .ve a.ve-bouton { width: 100%; justify-content: center; padding: 20px; } }
@media (prefers-reduced-motion: reduce) { .ve * { animation: none !important; } }
