/* PROVE / 012 — one clear message, one composed character scene. */
.hero-v12{
  display:block;
  isolation:isolate;
  min-height:max(900px,100svh);
  padding:clamp(158px,15vh,188px) clamp(28px,5.2vw,84px) 105px;
  overflow:hidden;
  background:#1742b9;
  color:#fffaf0;
}
.hero-v12:before{
  content:"";position:absolute;z-index:-3;inset:0;
  background:radial-gradient(circle at 78% 47%,#3c74d7 0,rgba(51,105,207,.55) 27%,transparent 55%),linear-gradient(117deg,#1335a2 0%,#1b4bc3 58%,#1740af 100%);
  animation:none;
}
.hero-v12:after{display:none}
.hero-v12 .hero-atmosphere{z-index:0;opacity:1;overflow:hidden;pointer-events:none}
.hero-v12 .hero-sun{
  position:absolute;top:16%;right:4%;width:min(48vw,700px);aspect-ratio:1;
  border-radius:50%;background:radial-gradient(circle at 46% 42%,rgba(227,242,242,.41),rgba(187,219,235,.19) 49%,transparent 70%);
}
.hero-v12 .hero-ring{
  top:16%;right:3%;width:min(49vw,720px);border:1px solid rgba(234,246,255,.18);
  box-shadow:none;animation:none;
}
.hero-v12 .hero-ring:after{display:none}

.hero-v12 .hero-content{
  position:relative;z-index:4;width:52%;max-width:720px;margin:0;padding:0;
  text-align:left;transform:none;animation:none;
}
.hero-v12 .hero-eyebrow{margin-bottom:29px;color:#e2edff;font-size:10px;letter-spacing:.2em}
.hero-v12 .hero-eyebrow:before{width:36px;background:#ffa98d}
.hero-v12 h1{
  max-width:none;margin:0;color:#fffdf7;
  font-size:clamp(68px,6.3vw,106px);line-height:.88;letter-spacing:-.087em;
  font-weight:800;text-wrap:nowrap;
}
.hero-v12 h1 span,.hero-v12 h1 em{display:block;width:max-content;max-width:none;overflow:visible;animation:none!important}
.hero-v12 h1 span:nth-child(2){
  margin:4px 0 0 .08em;color:#fff0d8;font-family:var(--serif);
  font-size:1.06em;font-weight:400;font-style:italic;letter-spacing:-.06em;
}
:lang(fr) .hero-v12 h1 span:nth-child(2){font-size:.92em}
:lang(es) .hero-v12 h1 span:nth-child(2){font-size:.97em}
.hero-v12 h1 em{
  margin-top:.19em;color:#d5e8ff;font-family:var(--sans);font-size:.57em;
  font-style:normal;font-weight:800;line-height:1.1;letter-spacing:-.07em;
}
.hero-v12 .hero-subtitle{
  max-width:470px;margin:31px 0 0;color:#e4eeff;
  font-size:clamp(16px,1.3vw,19px);font-weight:500;line-height:1.52;
}
.hero-v12 .hero-actions{position:relative;z-index:3;gap:26px;margin:29px 0 51px}
.hero-v12 .button-white{
  border:1px solid #fff7eb;border-radius:4px;background:#fff7eb;color:#17265f;
  box-shadow:5px 5px 0 rgba(4,20,83,.22);
}
.hero-v12 .button-white:hover{background:#fff;box-shadow:7px 7px 0 rgba(4,20,83,.25)}
.hero-v12 .text-link{border-bottom-color:rgba(255,255,255,.7);color:#fff;text-decoration:none}
.hero-v12 .hero-ecosystem{
  position:relative;z-index:3;max-width:485px;margin:0;padding-top:15px;
  border-top:1px solid rgba(239,246,255,.43);color:#fff;
}
.hero-v12 .ecosystem-label{color:#cadbfb}
.hero-v12 .ecosystem-brand,.hero-v12 .ecosystem-brand strong{color:#fff}
.hero-v12 .ecosystem-brand small{color:#d2e2ff}
.hero-v12 .ecosystem-brand+.ecosystem-brand:before{color:#a9c4ef}

/* The illustration reads as a single ensemble, with space around each face. */
.hero-v12 .hero-world{
  position:absolute;z-index:2;top:130px;right:-2%;bottom:52px;left:auto;
  width:56%;height:auto;min-width:0;margin:0;overflow:visible;pointer-events:none;
}
.hero-v12 .hero-world:before{display:none}
.hero-v12 .hero-world-frame{
  position:absolute;z-index:-1;inset:13% 2% 6% 6%;border:0;border-radius:50%;
  background:radial-gradient(circle at 52% 48%,rgba(240,249,244,.12),transparent 66%);
  box-shadow:none;
}
.hero-v12 .hero-world-frame:before,.hero-v12 .hero-world-frame:after{display:none}
.hero-character{position:absolute;display:block;aspect-ratio:2/3;transform-origin:center bottom;will-change:transform}
.hero-character img,.hero-character canvas{
  position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;
  object-fit:contain;object-position:center bottom;
  filter:drop-shadow(0 24px 20px rgba(7,20,72,.19));
}
.hero-character canvas{opacity:0;transition:opacity .35s ease}
.hero-character.is-rive-ready canvas{opacity:1}
.hero-character.is-rive-ready img{opacity:0}
.hero-character-film{z-index:2;right:51%;bottom:0;width:44%}
.hero-character-app{z-index:3;right:28%;bottom:-2%;width:37%}
.hero-character-platform{z-index:1;right:0;bottom:0;width:42%}
.hero-v12 .hero-bottom{
  position:absolute;z-index:6;right:clamp(28px,5.2vw,84px);bottom:26px;left:clamp(28px,5.2vw,84px);
  justify-content:flex-end;width:auto;margin:0;padding-top:14px;
  border-top:1px solid rgba(239,247,255,.27);color:#d0e2fc;
}

@media(max-width:1080px){
  .hero-v12{min-height:0;padding:143px 28px 28px}
  .hero-v12 .hero-content{width:100%;max-width:760px}
  .hero-v12 h1{font-size:clamp(72px,9vw,100px)}
  .hero-v12 .hero-subtitle{max-width:610px}
  .hero-v12 .hero-actions{margin-bottom:35px}
  .hero-v12 .hero-world{position:relative;top:auto;right:auto;bottom:auto;left:auto;width:100%;height:580px;margin:20px 0 0;overflow:hidden}
  .hero-character-film{right:53%;bottom:0;width:39%}
  .hero-character-app{right:31%;bottom:-2%;width:34%}
  .hero-character-platform{right:4%;bottom:0;width:38%}
  .hero-v12 .hero-sun{top:40%;right:4%;width:65vw}
  .hero-v12 .hero-ring{top:41%;right:4%;width:64vw}
  .hero-v12 .hero-bottom{position:relative;right:auto;bottom:auto;left:auto;margin-top:8px}
}
@media(max-width:680px){
  .hero-v12{padding:118px 19px 20px}
  .hero-v12 .hero-eyebrow{margin-bottom:22px;font-size:9px}
  .hero-v12 h1{font-size:clamp(49px,11.8vw,78px);letter-spacing:-.083em}
  .hero-v12 h1 span:nth-child(2){margin-left:.03em}
  .hero-v12 h1 em{font-size:clamp(28px,7.5vw,.62em)}
  :lang(fr) .hero-v12 h1 span:nth-child(2){font-size:.81em}
  :lang(es) .hero-v12 h1 span:nth-child(2){font-size:.87em}
  .hero-v12 .hero-subtitle{max-width:550px;margin-top:25px;font-size:15px;line-height:1.52}
  .hero-v12 .hero-actions{gap:18px;margin:24px 0 30px}
  .hero-v12 .hero-ecosystem{padding-top:14px}
  .hero-v12 .hero-world{height:clamp(305px,74vw,410px);width:calc(100% + 38px);margin:23px -19px 0;overflow:hidden}
  .hero-character-film{right:54%;bottom:0;width:44%}
  .hero-character-app{right:30%;bottom:-2%;width:39%}
  .hero-character-platform{right:0;bottom:0;width:44%}
  .hero-v12 .hero-sun{top:57%;right:-17%;width:93vw}
  .hero-v12 .hero-ring{top:57%;right:-17%;width:94vw}
  .hero-v12 .hero-bottom{margin-top:0;font-size:7px}
}
@media(prefers-reduced-motion:reduce){
  .hero-character{will-change:auto!important;transform:none!important}
  .hero-character canvas{display:none!important}
  .hero-character img{opacity:1!important}
  .hero-v12 .hero-sun,.hero-v12 .hero-ring{animation:none!important}
}

/* PROVE / 013 — a permanent, unmistakable navigation bar. */
.site-header{
  position:fixed;z-index:120;top:14px;left:clamp(12px,2vw,30px);
  width:calc(100% - 2 * clamp(12px,2vw,30px));min-height:68px;
  padding:10px clamp(16px,1.8vw,28px);border:1px solid rgba(21,45,93,.13);
  border-radius:12px;background:rgba(255,251,242,.97);
  box-shadow:0 18px 44px rgba(4,26,98,.18);backdrop-filter:blur(24px);
  color:#121d39;animation:none!important;
}
.site-header .wordmark,.site-header .desktop-nav a{color:#121d39}
.site-header .wordmark{font-size:35px;letter-spacing:-.095em}
.site-header .wordmark-dot{color:#f26b51}
.site-header .desktop-nav{display:flex;gap:clamp(14px,2vw,30px);font-size:12px;letter-spacing:.015em}
.site-header .desktop-nav a{white-space:nowrap}
.site-header .desktop-nav a:last-child{padding:11px 17px;border:1px solid #204bc7;border-radius:5px;background:#204bc7;color:#fff}
.site-header .language-switcher{border-color:#d8dfed;background:#eef1f6}
.site-header .language-switcher button{color:#58657b}
.site-header .language-switcher button.is-active{background:#fff;color:#17388d}
.mobile-nav{position:fixed;z-index:119;top:90px;left:12px;right:12px;border:1px solid #d8e0ed;border-radius:12px;background:#fffdf8}
.mobile-language-switcher{display:none}
.menu-toggle{display:none}

/* A single luminous portal gives the cast a stage and the copy a clear edge. */
.hero-v13{min-height:max(940px,100svh);padding-top:clamp(166px,16vh,196px)}
.hero-v13:before{
  background:
    radial-gradient(ellipse at 83% 42%,rgba(115,184,240,.53),transparent 41%),
    radial-gradient(ellipse at 43% 96%,rgba(8,32,127,.5),transparent 52%),
    linear-gradient(117deg,#0d2d99 0%,#1849c0 55%,#275dd1 100%);
}
.hero-v13 .hero-sun{display:none}
.hero-v13 .hero-ring{
  top:9%;right:-12%;width:min(65vw,960px);border:1px solid rgba(233,247,255,.23);
  box-shadow:0 0 0 6vw rgba(235,247,255,.025);opacity:.78;
}
.hero-v13 .hero-world{top:130px;right:-3%;bottom:54px;width:59%}
.hero-v13 .hero-world:before{
  content:"";display:block;position:absolute;z-index:0;right:5%;bottom:3%;left:19%;height:13%;
  border-radius:50%;background:radial-gradient(ellipse,rgba(7,31,111,.55),transparent 72%);
  filter:blur(17px);
}
.hero-v13 .hero-world-frame{
  z-index:0;inset:3% -6% 2% -1%;border:0;border-radius:50%;
  background:radial-gradient(circle at 46% 40%,rgba(255,251,237,.99) 0%,rgba(227,244,246,.95) 23%,rgba(151,205,237,.78) 49%,rgba(87,151,221,.28) 66%,transparent 75%);
  box-shadow:0 0 100px rgba(165,218,248,.17);opacity:.78;
}
.hero-v13 .hero-world-frame:before{
  content:"";display:block;position:absolute;inset:9%;width:auto;aspect-ratio:auto;
  border:1px solid rgba(255,255,255,.35);border-radius:50%;box-shadow:none;
}
.hero-v13 .hero-character-film{right:47%;bottom:0;width:52%}
.hero-v13 .hero-character-app{right:27%;bottom:-2%;width:44%}
.hero-v13 .hero-character-platform{right:0;bottom:0;width:50%}
.hero-v13 .hero-character img{inset:7.333%;width:85.334%;height:85.334%}
.hero-v13 .hero-character img,.hero-v13 .hero-character canvas{filter:drop-shadow(0 27px 24px rgba(5,22,87,.26))}
.hero-v13 h1 span:nth-child(2){position:relative}
.hero-v13 h1 span:nth-child(2):after{
  content:"";position:absolute;right:.03em;bottom:-.07em;left:.04em;height:.055em;
  border-radius:50%;background:#ff947d;transform:rotate(-2deg) scaleX(1);
  transform-origin:left center;animation:hero-draw-line 1.05s .85s both;
}
@keyframes hero-draw-line{from{transform:rotate(-2deg) scaleX(0)}to{transform:rotate(-2deg) scaleX(1)}}
.hero-v13 .hero-eyebrow{color:#edf6ff}
.hero-v13 .hero-subtitle{color:#eef4ff}

@media(min-width:821px) and (max-width:900px){
  .site-header .desktop-nav{display:flex}
  .site-header .menu-toggle{display:none}
}
@media(max-width:1080px){
  .hero-v13{min-height:0}
  .hero-v13 .hero-world{top:auto;right:auto;bottom:auto;width:100%;height:620px}
  .hero-v13 .hero-character-film{right:49%;width:46%}
  .hero-v13 .hero-character-app{right:30%;width:40%}
  .hero-v13 .hero-character-platform{right:3%;width:45%}
  .hero-v13 .hero-ring{top:42%;right:-8%;width:83vw}
}
@media(max-width:820px){
  .site-header .desktop-nav{display:none}
  .site-header .menu-toggle{
    position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-end;
    gap:4px;width:88px;height:38px;padding:8px 11px;border:1px solid #204bc7;
    border-radius:5px;background:#204bc7;color:#fff;
  }
  .site-header .menu-toggle:before{content:"MENU";position:absolute;left:10px;top:50%;transform:translateY(-50%);font-size:10px;font-weight:800;letter-spacing:.07em}
  .site-header .menu-toggle span{width:16px;height:2px;background:#fff}
  .site-header .menu-toggle[aria-expanded='true'] span:first-child{transform:translateY(3px) rotate(45deg)}
  .site-header .menu-toggle[aria-expanded='true'] span:last-child{transform:translateY(-3px) rotate(-45deg)}
}
@media(max-width:680px){
  .site-header{top:8px;left:8px;width:calc(100% - 16px);min-height:56px;padding:8px 11px;border-radius:8px}
  .site-header .wordmark{font-size:29px}
  .mobile-nav{top:74px;left:8px;right:8px}
  .hero-v13{padding-top:124px}
  .hero-v13 .hero-world{height:clamp(345px,85vw,440px);margin-top:14px}
  .hero-v13 .hero-character-film{right:52%;width:52%}
  .hero-v13 .hero-character-app{right:29%;width:46%}
  .hero-v13 .hero-character-platform{right:0;width:52%}
  .hero-v13 .hero-world-frame{inset:2% -12% -7% -8%}
  .hero-v13 .hero-ring{top:57%;right:-31%;width:121vw}
}
@media(max-width:560px){
  .site-header .language-switcher{display:none}
  .mobile-language-switcher{display:flex;justify-content:flex-start;gap:7px;margin:9px 4px 2px;padding:8px 4px 0;border:0;border-top:1px solid #dce3ed;border-radius:0;background:transparent;backdrop-filter:none}
  .mobile-language-switcher button{padding:8px 10px;border:1px solid #dae1ec;border-radius:5px;background:#f4f6fa;color:#273a61;font-size:11px;font-weight:800}
  .mobile-language-switcher button.is-active{border-color:#204bc7;background:#204bc7;color:#fff}
}
@media(prefers-reduced-motion:reduce){
  .hero-v13 h1 span:nth-child(2):after{animation:none!important}
}
