/* Gerado por _scripts/wp/build_css.py a partir de site/css/theme.css — não edite à mão. */
:root{
--void:   #0a2e28;   
  --deep:   #0d332d;   
  --forest: #1f5946;   
  --moss:   #2f7a5e;   
  --leaf:   #3f9d76;   
  --lume:   #b7cf62;   
  --spark:  #ff6a3d;   
  --spark-d:#e0501f;

  --paper:  #f5f6f0;   
  --paper-2:#ffffff;
  --sand:   #eef0e6;

  --ink:    #1a2620;
  --ink-2:  #43514a;
  --ink-3:  #6b7a72;
  --line:   #e3e7db;

  --on-dark:     #eef3ea;
  --on-dark-2:   #a9c6b8;
  --line-dark:   rgba(255, 255, 255, .12);

  --radius:    16px;
  --radius-lg: 24px;
  --radius-sm: 10px;
  --pill: 999px;

  --shadow-1: 0 1px 2px rgba(13, 51, 45, .04), 0 4px 12px rgba(13, 51, 45, .05);
  --shadow-2: 0 8px 20px -6px rgba(13, 51, 45, .12), 0 20px 44px -12px rgba(13, 51, 45, .12);

  --container: 1160px;
  --pad: 24px;
  --font: "Sora", "Segoe UI", system-ui, -apple-system, sans-serif;

  --ease: cubic-bezier(.2, .7, .2, 1);

  color-scheme: light;}
*{
box-sizing: border-box;}
html{
-webkit-text-size-adjust: 100%; scroll-behavior: smooth;}
html, body:not(#pi-x){
overflow-x: clip;}
@media (min-width: 1000px){
:root{
font-size: 109%;
    --container: 1270px;
    --pad: 28px;}
body:not(#pi-x) section{
padding-block: clamp(64px, 6.5vw, 104px);}
}
@media (min-width: 1500px){
:root{
font-size: 112%;}
}
body:not(#pi-x){
margin: 0;
  font-family: var(--font);
  font-size: 1rem;
  line-height: 1.6;
  color: var(--ink-2);
  background: var(--paper);
  -webkit-font-smoothing: antialiased;}
body:not(#pi-x) img{
max-width: 100%; display: block;}
body:not(#pi-x) a{
color: inherit; text-decoration: none;}
::selection{
background: var(--lume); color: var(--deep);}
body:not(#pi-x) :focus-visible{
outline: 2px solid var(--moss); outline-offset: 3px; border-radius: 3px;}
body:not(#pi-x) h1, body:not(#pi-x) h2, body:not(#pi-x) h3, body:not(#pi-x) h4{
margin: 0 0 .5rem;
  color: var(--deep);
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -.02em;
  text-wrap: balance;}
body:not(#pi-x) h1{
font-size: clamp(2rem, 1.3rem + 2.6vw, 3.1rem); font-weight: 800; letter-spacing: -.03em;}
body:not(#pi-x) h2{
font-size: clamp(1.5rem, 1.1rem + 1.6vw, 2.15rem);}
body:not(#pi-x) h3{
font-size: 1.15rem; font-weight: 600;}
body:not(#pi-x) h4{
font-size: .95rem; font-weight: 600;}
body:not(#pi-x) p{
margin: 0 0 1rem;}
body:not(#pi-x) strong{
color: var(--ink); font-weight: 600;}
body:not(#pi-x) .container{
max-width: var(--container); margin: 0 auto; padding-inline: var(--pad);}
body:not(#pi-x) .skip-link{
position: absolute; left: -999px; top: 0; z-index: 1000;
  background: var(--deep); color: #fff; padding: 12px 18px; border-radius: 0 0 10px 0; font-weight: 600;}
body:not(#pi-x) .skip-link:focus{
left: 0;}
body:not(#pi-x) .eyebrow{
display: inline-flex; align-items: center; gap: 10px;
  font-size: .72rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
  color: var(--moss); margin-bottom: 14px;}
body:not(#pi-x) .eyebrow::before{
content: ""; width: 24px; height: 2px; background: var(--spark); border-radius: 2px;}
body:not(#pi-x) .text-center .eyebrow, body:not(#pi-x) .section-head.text-center .eyebrow{
justify-content: center;}
body:not(#pi-x) .topbar{
background: var(--void); color: var(--on-dark-2); font-size: .78rem;}
body:not(#pi-x) .topbar .container{
display: flex; justify-content: space-between; align-items: center; gap: 14px; flex-wrap: wrap; padding-block: 8px;}
body:not(#pi-x) .topbar a:hover{
color: var(--lume);}
body:not(#pi-x) .topbar-links{
display: flex; gap: 20px; flex-wrap: wrap;}
body:not(#pi-x) .topbar-social{
display: flex; gap: 12px;}
body:not(#pi-x) header.site-header{
position: sticky; top: 0; z-index: 200;
  background: rgba(245, 246, 240, .92);
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid transparent;
  transition: border-color .25s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease);}
body:not(#pi-x) header.site-header.scrolled{
border-bottom-color: var(--line); box-shadow: var(--shadow-1); background: rgba(245, 246, 240, .96);}
body:not(#pi-x) .site-header > .container.nav-wrap{
max-width: min(1780px, 94vw);}
body:not(#pi-x) .nav-wrap{
display: flex; align-items: center; justify-content: space-between; gap: clamp(20px, 3vw, 52px); padding-block: 13px;}
body:not(#pi-x) .logo{
flex-shrink: 0;}
body:not(#pi-x) .logo img{
height: 46px; width: auto;}
body:not(#pi-x) nav.main-nav{
display: flex; justify-content: flex-end; flex: 0 1 auto; min-width: 0;}
body:not(#pi-x) nav.main-nav > ul{
list-style: none; display: flex; align-items: center; gap: 2px; margin: 0; padding: 0; flex-wrap: nowrap;}
body:not(#pi-x) nav.main-nav > ul > li{
position: relative;}
body:not(#pi-x) nav.main-nav > ul > li > a, body:not(#pi-x) nav.main-nav > ul > li > button.nav-toggle{
position: relative;
  display: flex; align-items: center; gap: 4px;
  padding: 10px 11px; border-radius: var(--radius-sm);
  font: 500 .85rem/1 var(--font); color: var(--deep);
  background: none; border: 0; cursor: pointer; white-space: nowrap;
  transition: background .16s var(--ease), color .16s var(--ease);}
body:not(#pi-x) nav.main-nav > ul > li > a:not(.btn-cta)::after{
content: ""; position: absolute; left: 10px; right: 10px; bottom: 4px; height: 2px;
  background: var(--spark); border-radius: 2px;
  transform: scaleX(0); transform-origin: left; transition: transform .2s var(--ease);}
body:not(#pi-x) nav.main-nav > ul > li > a:not(.btn-cta):hover::after, body:not(#pi-x) nav.main-nav > ul > li > a[aria-current="page"]:not(.btn-cta)::after{
transform: scaleX(1);}
body:not(#pi-x) nav.main-nav > ul > li > a:hover, body:not(#pi-x) nav.main-nav > ul > li > button.nav-toggle:hover, body:not(#pi-x) nav.main-nav > ul > li.open > button.nav-toggle{
background: rgba(31, 89, 70, .08); color: var(--forest);}
body:not(#pi-x) nav.main-nav .caret{
font-size: .6rem; opacity: .7; transition: transform .2s var(--ease);}
body:not(#pi-x) nav.main-nav > ul > li.open .caret{
transform: rotate(180deg);}
body:not(#pi-x) .dropdown{
position: absolute; top: calc(100% + 6px); left: 0; min-width: 250px;
  background: var(--paper-2); border: 1px solid var(--line);
  border-radius: 14px; box-shadow: var(--shadow-2); padding: 8px;
  display: none; z-index: 250;}
body:not(#pi-x) li.open .dropdown{
display: block;}
body:not(#pi-x) .dropdown a{
display: block; padding: 10px 12px; border-radius: 9px; font-size: .86rem; color: var(--ink-2);}
body:not(#pi-x) .dropdown a:hover{
background: var(--sand); color: var(--forest);}
body:not(#pi-x) .dropdown-group-title{
font-size: .66rem; text-transform: uppercase; letter-spacing: .1em; color: var(--ink-3); padding: 10px 12px 4px;}
@media (hover: hover) and (pointer: fine) and (min-width: 1561px){
body:not(#pi-x) nav.main-nav > ul > li:hover > .dropdown{
display: block;}
body:not(#pi-x) nav.main-nav > ul > li:hover > button.nav-toggle{
background: rgba(31, 89, 70, .08); color: var(--forest);}
body:not(#pi-x) nav.main-nav > ul > li:hover > button.nav-toggle .caret{
transform: rotate(180deg);}
}
body:not(#pi-x) .btn-cta{
background: var(--deep) !important; color: #fff !important;
  padding: 10px 18px !important; border-radius: var(--pill) !important; font-weight: 600 !important;
  margin-left: 6px;}
body:not(#pi-x) .btn-cta:hover{
background: var(--forest) !important;}
body:not(#pi-x) .hamburger{
display: none; background: none; border: 0; cursor: pointer;
  width: 44px; height: 44px; flex-direction: column; align-items: center; justify-content: center; gap: 5px; flex-shrink: 0;}
body:not(#pi-x) .hamburger span{
width: 24px; height: 2px; background: var(--deep); border-radius: 2px; transition: transform .25s var(--ease), opacity .2s;}
body:not(#pi-x) .hamburger.active span:nth-child(1){
transform: translateY(7px) rotate(45deg);}
body:not(#pi-x) .hamburger.active span:nth-child(2){
opacity: 0;}
body:not(#pi-x) .hamburger.active span:nth-child(3){
transform: translateY(-7px) rotate(-45deg);}
body:not(#pi-x) .mobile-nav-head{
display: none;}
body:not(#pi-x) .nav-backdrop{
display: none;}
body:not(#pi-x) section.hero{
position: relative; overflow: hidden; padding: 0;
  color: var(--on-dark);
  background:
    radial-gradient(60% 80% at 85% 0%, rgba(63, 157, 118, .28), transparent 60%),
    radial-gradient(50% 70% at 10% 100%, rgba(47, 122, 94, .3), transparent 55%),
    linear-gradient(160deg, #10403a 0%, #0b332d 55%, #0a2e28 100%);}
body:not(#pi-x) .hero::after{
content: ""; position: absolute; right: -10%; top: -20%;
  width: min(620px, 55vw); aspect-ratio: 1; border-radius: 50%;
  background: radial-gradient(circle, rgba(183, 207, 98, .16), transparent 65%);
  pointer-events: none;}
body:not(#pi-x) .hero .container{
position: relative; z-index: 1;
  padding-block: clamp(56px, 9vw, 104px);
  max-width: 940px;}
body:not(#pi-x) .hero-eyebrow{
display: inline-block;
  font-size: .72rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase;
  color: var(--lume);
  border: 1px solid var(--line-dark); border-radius: var(--pill);
  padding: 7px 15px; margin-bottom: 24px;}
body:not(#pi-x) .hero h1{
color: #fff; max-width: 20ch; margin-bottom: .5em;}
body:not(#pi-x) .hero p.lead{
font-size: clamp(1.02rem, .95rem + .4vw, 1.2rem);
  color: var(--on-dark); max-width: 58ch; margin-bottom: 30px;}
body:not(#pi-x) .hero-actions{
display: flex; gap: 12px; flex-wrap: wrap;}
body:not(#pi-x) .hero-links{
position: relative; z-index: 1;
  border-top: 1px solid var(--line-dark);}
body:not(#pi-x) .hero-links .container{
display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; padding-inline: 0; max-width: var(--container);}
body:not(#pi-x) .hero-links a{
position: relative;
  display: flex; flex-direction: column; gap: 4px;
  padding: 22px var(--pad);
  color: var(--on-dark); font-size: .9rem; font-weight: 500;
  transition: background .18s var(--ease), color .18s var(--ease);}
body:not(#pi-x) .hero-links a::after{
content: ""; position: absolute; left: var(--pad); right: var(--pad); top: 0; height: 2px;
  background: var(--spark); transform: scaleX(0); transform-origin: left;
  transition: transform .25s var(--ease);}
body:not(#pi-x) .hero-links a + a{
border-left: 1px solid var(--line-dark);}
body:not(#pi-x) .hero-links a:hover{
background: rgba(255, 255, 255, .05); color: #fff;}
body:not(#pi-x) .hero-links a:hover::after{
transform: scaleX(1);}
body:not(#pi-x) .hero-links a span{
color: var(--on-dark-2); font-size: .78rem; font-weight: 400; transition: color .18s var(--ease);}
body:not(#pi-x) .hero-links a:hover span{
color: var(--lume);}
body:not(#pi-x) section.page-hero{
position: relative; overflow: hidden; color: var(--on-dark);
  background:
    radial-gradient(50% 90% at 90% 0%, rgba(63, 157, 118, .22), transparent 60%),
    linear-gradient(160deg, rgba(13, 51, 45, .8), rgba(10, 46, 40, .9)),
    url("../img/hero-bg.jpg") center / cover no-repeat #0a2e28;
  padding-block: clamp(46px, 6vw, 78px);}
body:not(#pi-x) .page-hero .container{
position: relative; z-index: 1;}
body:not(#pi-x) .page-hero h1{
color: #fff; margin-bottom: .3em;}
body:not(#pi-x) .page-hero p{
color: var(--on-dark); max-width: 62ch; margin: 0;}
body:not(#pi-x) .page-hero{
padding-block: clamp(52px, 7vw, 96px);}
body:not(#pi-x) .breadcrumb{
font-size: .78rem; color: var(--on-dark-2); margin-bottom: 14px;
  display: inline-flex; align-items: center; gap: 7px;
  padding: 5px 13px; border: 1px solid var(--line-dark); border-radius: var(--pill);
  backdrop-filter: blur(4px);}
body:not(#pi-x) .breadcrumb a{
color: var(--on-dark-2); transition: color .16s var(--ease);}
body:not(#pi-x) .breadcrumb a:hover{
color: var(--lume);}
body:not(#pi-x) .page-hero .aurora{
display: block; position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: hidden;}
body:not(#pi-x) .page-hero .aurora::before, body:not(#pi-x) .page-hero .aurora::after{
content: ""; position: absolute; border-radius: 50%; filter: blur(46px);}
body:not(#pi-x) .page-hero .aurora::before{
width: min(560px, 46vw); aspect-ratio: 1;
  background: radial-gradient(circle, rgba(63, 157, 118, .5), transparent 62%);
  right: -8%; top: -42%;
  animation: phGlowA 18s ease-in-out infinite alternate;}
body:not(#pi-x) .page-hero .aurora::after{
width: min(440px, 40vw); aspect-ratio: 1;
  background: radial-gradient(circle, rgba(183, 207, 98, .26), transparent 60%);
  left: -6%; bottom: -48%;
  animation: phGlowB 23s ease-in-out infinite alternate;}
@keyframes phGlowA{
from{
transform: translate(0, 0) scale(1);}
to{
transform: translate(-42px, 34px) scale(1.16);}
}
@keyframes phGlowB{
from{
transform: translate(0, 0) scale(1);}
to{
transform: translate(52px, -26px) scale(1.1);}
}
body:not(#pi-x) .page-hero::after{
content: ""; position: absolute; left: -10%; right: -10%; bottom: 0; height: 66%; z-index: 0; pointer-events: none;
  background-image:
    linear-gradient(rgba(183, 207, 98, .13) 1px, transparent 1px),
    linear-gradient(90deg, rgba(183, 207, 98, .13) 1px, transparent 1px);
  background-size: 46px 46px;
  transform: perspective(520px) rotateX(72deg); transform-origin: bottom;
  -webkit-mask-image: linear-gradient(to top, #000, transparent 84%);
  mask-image: linear-gradient(to top, #000, transparent 84%);
  opacity: .5;
  animation: phGrid 14s linear infinite;}
@keyframes phGrid{
to{
background-position: 0 46px, 46px 0;}
}
body:not(#pi-x) section{
padding-block: clamp(56px, 7vw, 96px);}
body:not(#pi-x) section.alt{
background: var(--paper-2);}
body:not(#pi-x) section.tint{
background: var(--sand);}
body:not(#pi-x) section.dark{
background: var(--void); color: var(--on-dark);}
body:not(#pi-x) section.dark h2, body:not(#pi-x) section.dark h3, body:not(#pi-x) section.dark h4{
color: #fff;}
body:not(#pi-x) section.dark .eyebrow{
color: var(--lume);}
body:not(#pi-x) section.dark .eyebrow::before{
background: var(--lume);}
body:not(#pi-x) .section-head{
max-width: 640px; margin-bottom: 40px;}
body:not(#pi-x) .section-head.text-center{
margin-inline: auto;}
body:not(#pi-x) .section-head p{
color: var(--ink-3);}
body:not(#pi-x) section.dark .section-head p{
color: var(--on-dark-2);}
body:not(#pi-x) .btn{
position: relative; overflow: hidden;
  display: inline-flex; align-items: center; gap: 8px;
  padding: 13px 24px; border-radius: var(--pill);
  font: 600 .9rem/1 var(--font); cursor: pointer; border: 1px solid transparent;
  transition: transform .16s var(--ease), background .18s var(--ease), box-shadow .18s var(--ease);}
body:not(#pi-x) .btn::after{
content: ""; position: absolute; inset: 0 auto 0 -130%; width: 55%;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .3), transparent);
  transform: skewX(-16deg); transition: left .5s var(--ease);}
body:not(#pi-x) .btn:hover::after{
left: 140%;}
body:not(#pi-x) .btn:hover{
transform: translateY(-2px);}
body:not(#pi-x) .btn-primary{
background: var(--spark); color: #fff; box-shadow: 0 8px 20px -8px rgba(255, 106, 61, .5);}
body:not(#pi-x) .btn-primary:hover{
background: var(--spark-d); box-shadow: 0 12px 28px -8px rgba(255, 106, 61, .55);}
body:not(#pi-x) .btn-outline{
background: transparent; color: #fff; border-color: rgba(255, 255, 255, .3);}
body:not(#pi-x) .btn-outline:hover{
background: rgba(255, 255, 255, .1); border-color: rgba(255, 255, 255, .5);}
body:not(#pi-x) .btn-outline-dark{
background: transparent; color: var(--forest); border-color: var(--forest);}
body:not(#pi-x) .btn-outline-dark:hover{
background: rgba(31, 89, 70, .07);}
body:not(#pi-x) .card-link{
display: inline-flex; align-items: center; gap: 6px;
  font-weight: 600; font-size: .85rem; color: var(--forest);
  transition: gap .18s var(--ease);}
body:not(#pi-x) .card-link::after{
content: "→";}
body:not(#pi-x) .card-link:hover{
gap: 10px; color: var(--spark-d);}
body:not(#pi-x) section.dark .card-link{
color: var(--lume);}
body:not(#pi-x) .grid{
display: grid; gap: 22px;}
body:not(#pi-x) .grid-2{
grid-template-columns: repeat(2, 1fr);}
body:not(#pi-x) .grid-3{
grid-template-columns: repeat(3, 1fr);}
body:not(#pi-x) .grid-4{
grid-template-columns: repeat(4, 1fr);}
body:not(#pi-x) .card{
position: relative;
  display: flex; flex-direction: column;
  background: var(--paper-2);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 26px;
  box-shadow: var(--shadow-1);
  transition: transform .22s var(--ease), box-shadow .22s var(--ease), border-color .22s var(--ease);}
body:not(#pi-x) a.card, body:not(#pi-x) .card[href]{
color: inherit;}
body:not(#pi-x) .card:hover{
transform: translateY(-4px); box-shadow: var(--shadow-2); border-color: rgba(255, 106, 61, .4);}
body:not(#pi-x) .card h3{
margin-bottom: 6px; transition: color .2s var(--ease);}
body:not(#pi-x) .card:hover h3{
color: var(--spark-d);}
body:not(#pi-x) .card p{
color: var(--ink-3); font-size: .92rem; margin-bottom: 14px;}
body:not(#pi-x) .card p:last-child{
margin-bottom: 0;}
body:not(#pi-x) .card .card-link{
margin-top: auto;}
body:not(#pi-x) .card .icon{
width: 44px; height: 44px; border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  color: var(--forest); background: rgba(63, 157, 118, .12);
  margin-bottom: 16px;
  transition: transform .25s var(--ease), background .25s var(--ease), color .25s var(--ease);}
body:not(#pi-x) .card:hover .icon{
transform: rotate(-6deg) scale(1.08); background: var(--spark); color: #fff;}
body:not(#pi-x) section.dark .card{
background: rgba(255, 255, 255, .05); border-color: var(--line-dark); color: var(--on-dark);}
body:not(#pi-x) section.dark .card p{
color: var(--on-dark-2);}
body:not(#pi-x) section.dark .card .icon{
color: var(--lume); background: rgba(255, 255, 255, .08);}
body:not(#pi-x) section.dark .card:hover{
border-color: rgba(255, 106, 61, .55);}
body:not(#pi-x) section.dark .card:hover h3{
color: var(--lume);}
body:not(#pi-x) .step-num{
width: 44px; height: 44px; border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  font-weight: 700; font-size: 1.1rem; color: var(--forest);
  background: rgba(63, 157, 118, .12); margin-bottom: 16px;}
body:not(#pi-x) .ico{
display: inline-block; vertical-align: middle; flex-shrink: 0;}
body:not(#pi-x) .ico-inline{
color: var(--forest); margin-right: 8px; vertical-align: -4px;}
body:not(#pi-x) .link-card{
position: relative; overflow: hidden;
  display: flex; align-items: center; gap: 12px;
  background: var(--paper-2); border: 1px solid var(--line);
  border-radius: 12px; padding: 15px 18px;
  font-weight: 500; font-size: .92rem; color: var(--ink);
  transition: border-color .18s var(--ease), box-shadow .18s var(--ease), transform .18s var(--ease);}
body:not(#pi-x) .link-card::before{
content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
  background: var(--spark); transform: scaleY(0); transform-origin: bottom;
  transition: transform .22s var(--ease);}
body:not(#pi-x) .link-card:hover{
border-color: rgba(255, 106, 61, .35); box-shadow: var(--shadow-1); transform: translateX(3px);}
body:not(#pi-x) .link-card:hover::before{
transform: scaleY(1); transform-origin: top;}
body:not(#pi-x) .link-card .ico-inline{
transition: color .2s var(--ease);}
body:not(#pi-x) .link-card:hover .ico-inline{
color: var(--spark);}
body:not(#pi-x) .link-card .tag{
margin-left: auto; flex-shrink: 0;
  font: 600 .62rem/1 var(--font); letter-spacing: .05em; text-transform: uppercase;
  padding: 5px 9px; border-radius: var(--pill); background: var(--sand); color: var(--ink-3);}
body:not(#pi-x) .link-card .tag.pdf{
background: rgba(63, 157, 118, .14); color: #1c7a4b;}
body:not(#pi-x) .link-card .tag.ext{
background: rgba(255, 106, 61, .14); color: var(--spark-d);}
body:not(#pi-x) .link-card .tag.form{
background: rgba(31, 89, 70, .12); color: var(--forest);}
body:not(#pi-x) .stats, body:not(#pi-x) .stats-band{
display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px;}
body:not(#pi-x) .stats-band{
background: var(--void); color: var(--on-dark);
  border-radius: var(--radius-lg); padding: clamp(32px, 4vw, 48px);}
body:not(#pi-x) .stat, body:not(#pi-x) .stats-band .s{
text-align: center; position: relative;}
body:not(#pi-x) .stat .num, body:not(#pi-x) .stats-band .num{
font-weight: 800; font-size: clamp(1.9rem, 1.2rem + 2vw, 2.9rem); line-height: 1;
  color: #fff; letter-spacing: -.03em;}
body:not(#pi-x) .stat .label, body:not(#pi-x) .stats-band .label{
font-size: .82rem; color: var(--on-dark-2); margin-top: 8px;}
body:not(#pi-x) .stats-band .s + .s::before{
content: ""; position: absolute; left: -12px; top: 12%; bottom: 12%; width: 1px; background: var(--line-dark);}
body:not(#pi-x) .news-card{
position: relative;
  display: flex; flex-direction: column;
  background: var(--paper-2); border: 1px solid var(--line); border-radius: var(--radius);
  box-shadow: var(--shadow-1);
  transition: transform .22s var(--ease), box-shadow .22s var(--ease);}
body:not(#pi-x) .news-card:hover{
transform: translateY(-5px); box-shadow: var(--shadow-2);}
body:not(#pi-x) .news-thumb{
position: relative; aspect-ratio: 16 / 10; overflow: hidden; background: var(--sand);
  border-radius: var(--radius) var(--radius) 0 0;}
body:not(#pi-x) .news-thumb img{
width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--ease);}
body:not(#pi-x) .news-card:hover .news-thumb img{
transform: scale(1.06);}
body:not(#pi-x) .news-thumb::after{
content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 62%;
  background: linear-gradient(to top, var(--deep) 14%, rgba(13, 51, 45, .55) 52%, transparent);
  clip-path: polygon(0 42%, 100% 6%, 100% 100%, 0 100%);}
body:not(#pi-x) .news-tag{
position: absolute; top: 14px; left: 14px; z-index: 3;
  font: 600 .62rem/1 var(--font); letter-spacing: .07em; text-transform: uppercase;
  padding: 6px 11px; border-radius: var(--pill);
  background: rgba(255, 255, 255, .92); color: var(--spark-d);
  backdrop-filter: blur(4px); box-shadow: 0 4px 12px rgba(13, 51, 45, .18);}
body:not(#pi-x) .news-badge{
position: absolute; right: 18px; top: -28px; z-index: 4;
  width: 58px; height: 58px; border-radius: 50%;
  background: var(--spark); color: #fff;
  display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1;
  box-shadow: 0 10px 24px -6px rgba(255, 106, 61, .65);
  transition: transform .22s var(--ease), background .22s var(--ease);}
body:not(#pi-x) .news-badge b{
font-size: 1.1rem; font-weight: 700;}
body:not(#pi-x) .news-badge span{
font-size: .54rem; text-transform: uppercase; letter-spacing: .08em; margin-top: 3px;}
body:not(#pi-x) .news-card:hover .news-badge{
transform: scale(1.1) rotate(-7deg);}
body:not(#pi-x) .news-card .body{
position: relative; padding: 34px 22px 24px; display: flex; flex-direction: column; flex: 1;}
body:not(#pi-x) .news-card .body > .news-tag{
position: static; align-self: flex-start;
  margin: 0 0 12px; backdrop-filter: none;
  background: var(--sand); box-shadow: none;}
body:not(#pi-x) .news-card .body:has(> .news-tag){
padding-top: 22px;}
body:not(#pi-x) .news-date{
margin-top: 10px; color: var(--ink-3);
  font: 500 .82rem/1.4 var(--font);}
body:not(#pi-x) .news-card h3{
font-size: 1.06rem; margin-bottom: 8px; transition: color .18s var(--ease);}
body:not(#pi-x) .news-card:hover h3{
color: var(--forest);}
body:not(#pi-x) .news-card .body p{
color: var(--ink-3); font-size: .9rem; margin: 0 0 18px;}
body:not(#pi-x) .news-more{
align-self: flex-start; margin-top: auto;
  display: inline-flex; align-items: center; gap: 7px;
  background: var(--forest); color: #fff;
  padding: 9px 18px; border-radius: var(--pill);
  font: 600 .8rem/1 var(--font);
  transition: background .18s var(--ease), gap .18s var(--ease), transform .18s var(--ease);}
body:not(#pi-x) .news-more::after{
content: "\2192";}
body:not(#pi-x) .news-card:hover .news-more{
background: var(--spark); gap: 12px;}
body:not(#pi-x) .cta-banner{
display: flex; justify-content: space-between; align-items: center; gap: 28px; flex-wrap: wrap;
  background:
    radial-gradient(60% 120% at 85% 10%, rgba(63, 157, 118, .3), transparent 60%),
    linear-gradient(150deg, #10403a, #0a2e28);
  color: var(--on-dark);
  border-radius: var(--radius-lg); padding: clamp(30px, 4vw, 46px);}
body:not(#pi-x) .cta-banner h2{
color: #fff; margin-bottom: 6px;}
body:not(#pi-x) .cta-banner p{
color: var(--on-dark-2); margin: 0; max-width: 60ch;}
body:not(#pi-x) .partners-carousel{
overflow: hidden; padding-block: 8px;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);}
body:not(#pi-x) .partners-track{
display: flex; align-items: center; gap: 24px; width: max-content; animation: marquee 44s linear infinite;}
body:not(#pi-x) .partners-carousel:hover .partners-track{
animation-play-state: paused;}
body:not(#pi-x) .partners-track img{
height: 46px; width: auto; max-width: 140px; object-fit: contain; box-sizing: content-box;
  padding: 14px 20px; background: var(--paper-2); border: 1px solid var(--line); border-radius: 14px;}
@keyframes marquee{
to{
transform: translateX(-50%);}
}
body:not(#pi-x) .campi-section .container{
max-width: min(1340px, 94vw);}
body:not(#pi-x) .campi-wrap{
max-width: 1320px; margin: -8px auto 0; overflow: visible;}
body:not(#pi-x) .campi-map{
filter: drop-shadow(0 30px 42px rgba(13, 51, 45, .2)); overflow: visible;}
body:not(#pi-x) .campi-map svg{
width: 100%; height: auto; display: block; overflow: visible;}
body:not(#pi-x) .campi-map .rj-top{
transition: filter .2s var(--ease);}
body:not(#pi-x) .campi-map .cdot{
cursor: pointer;}
body:not(#pi-x) .campi-map .cdot-h{
transition: r .18s var(--ease), fill .18s var(--ease);}
body:not(#pi-x) .campi-map .cdot:hover .cdot-h{
r: 6.5; fill: var(--spark);}
body:not(#pi-x) .campi-map .lbl{
cursor: default; transition: transform .18s var(--ease);}
body:not(#pi-x) .campi-map .lbl:hover{
transform: translateY(-1px);}
body:not(#pi-x) .campi-map .lbl rect{
transition: fill .18s var(--ease), stroke .18s var(--ease);}
body:not(#pi-x) .campi-map .lbl:hover rect{
fill: #fff3ee; stroke: var(--spark);}
body:not(#pi-x) .campi-map text{
font-family: var(--font);}
body:not(#pi-x) .campi-legend{
display: flex; gap: 10px 20px; flex-wrap: wrap; justify-content: center; margin-top: 22px; font-size: .8rem; color: var(--ink-3);}
body:not(#pi-x) .campi-legend > span{
display: inline-flex; align-items: center; gap: 8px;}
body:not(#pi-x) .campi-legend i{
width: 10px; height: 10px; border-radius: 50%; display: inline-block; flex-shrink: 0;}
body:not(#pi-x) .campi-legend .src{
display: block; flex: 1 0 100%; width: 100%;
  margin: 8px 0 0; padding: 0 8px; text-align: center; line-height: 1.55;
  color: var(--ink-3);}
body:not(#pi-x) .campi-legend .src a{
color: var(--forest); font-weight: 600; white-space: nowrap;}
body:not(#pi-x) .campi-m{
display: none; position: relative;}
body:not(#pi-x) .campi-map-m svg{
width: 100%; height: auto; display: block;}
body:not(#pi-x) .campi-m-lines{
position: absolute; inset: 0; width: 100%; height: 100%;
  pointer-events: none; z-index: 0; overflow: visible;}
body:not(#pi-x) .campi-mlist{
position: relative; z-index: 1; display: grid; grid-template-columns: 1fr; gap: 18px; margin-top: 24px;}
body:not(#pi-x) .campi-mlist .cg h4{
display: flex; align-items: center; gap: 9px;
  font: 700 .72rem/1 var(--font); text-transform: uppercase; letter-spacing: .1em;
  color: var(--deep); margin: 0 0 10px;}
body:not(#pi-x) .campi-mlist .cg h4 i{
width: 11px; height: 11px; border-radius: 50%; flex-shrink: 0;}
body:not(#pi-x) .campi-mlist .d-norte{
background: #12705a;}
body:not(#pi-x) .campi-mlist .d-noro{
background: #2f9e6e;}
body:not(#pi-x) .campi-mlist .d-litoral{
background: #ff6a3d;}
body:not(#pi-x) .campi-mlist .cg ul{
list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px;}
body:not(#pi-x) .campi-mlist .cg li{
padding: 8px 14px; border-radius: var(--pill);
  background: var(--paper-2); border: 1px solid var(--line);
  font-size: .88rem; color: var(--ink); font-weight: 500;}
@media (max-width: 980px){
body:not(#pi-x) .campi-section .container{
max-width: 94vw;}
body:not(#pi-x) .campi-wrap{
margin-top: 0;}
body:not(#pi-x) .campi-map-d{
display: none;}
body:not(#pi-x) .campi-m{
display: block;}
body:not(#pi-x) .campi-map-m{
max-width: 520px; margin: 0 auto 14px; filter: drop-shadow(0 24px 34px rgba(13,51,45,.2));}
body:not(#pi-x) .campi-mlist{
margin-top: 14px; gap: 22px;}
body:not(#pi-x) .campi-mlist .cg h4{
margin-bottom: 14px;}
body:not(#pi-x) .campi-legend{
margin-top: 18px; font-size: .72rem;}
body:not(#pi-x) .campi-legend span:not(.src){
display: none;}
}
body:not(#pi-x) .quick-strip{
background: var(--paper-2); border-block: 1px solid var(--line);}
body:not(#pi-x) .quick-strip .container{
display: flex; gap: 10px; overflow-x: auto; padding-block: 16px; scrollbar-width: none;}
body:not(#pi-x) .quick-strip .container::-webkit-scrollbar{
display: none;}
body:not(#pi-x) .quick-chip{
flex: 0 0 auto; padding: 8px 16px; border-radius: var(--pill);
  font: 500 .82rem/1 var(--font); white-space: nowrap;
  background: var(--sand); color: var(--deep);
  transition: background .16s var(--ease), color .16s var(--ease);}
body:not(#pi-x) .quick-chip:hover{
background: var(--forest); color: #fff;}
body:not(#pi-x) .tabs{
display: flex; gap: 8px; margin-bottom: 28px; flex-wrap: wrap;}
body:not(#pi-x) .tab-btn{
padding: 10px 18px; border-radius: var(--pill);
  border: 1px solid var(--line); background: var(--paper-2);
  font: 600 .85rem/1 var(--font); color: var(--ink-3); cursor: pointer;
  transition: all .16s var(--ease);}
body:not(#pi-x) .tab-btn:hover{
color: var(--forest); border-color: var(--moss);}
body:not(#pi-x) .tab-btn.active{
background: var(--deep); border-color: var(--deep); color: #fff;}
body:not(#pi-x) .tab-panel{
display: none;}
body:not(#pi-x) .tab-panel.active{
display: block;}
body:not(#pi-x) .accordion-item{
background: var(--paper-2); border: 1px solid var(--line);
  border-radius: 14px; margin-bottom: 10px; overflow: hidden;}
body:not(#pi-x) .accordion-item.open{
border-color: #cdd7c4;}
body:not(#pi-x) .accordion-trigger{
width: 100%; text-align: left; background: none; border: 0; cursor: pointer;
  padding: 17px 20px; font: 600 .95rem/1.3 var(--font); color: var(--deep);
  display: flex; justify-content: space-between; align-items: center; gap: 16px;}
body:not(#pi-x) .accordion-trigger .plus{
flex-shrink: 0; font-size: 1.25rem; color: var(--spark); transition: transform .22s var(--ease);}
body:not(#pi-x) .accordion-item.open .plus{
transform: rotate(135deg);}
body:not(#pi-x) .accordion-panel{
max-height: 0; overflow: hidden; transition: max-height .28s var(--ease); padding-inline: 20px;}
body:not(#pi-x) .accordion-item.open .accordion-panel{
padding-bottom: 18px;}
body:not(#pi-x) .accordion-panel p{
margin: 0; font-size: .92rem;}
body:not(#pi-x) .table-scroll{
overflow-x: auto;}
body:not(#pi-x) table.simple{
width: 100%; border-collapse: collapse;
  background: var(--paper-2); border: 1px solid var(--line);
  border-radius: 14px; overflow: hidden; font-variant-numeric: tabular-nums;}
body:not(#pi-x) table.simple th, body:not(#pi-x) table.simple td{
text-align: left; padding: 14px 16px; border-bottom: 1px solid var(--line); font-size: .9rem;}
body:not(#pi-x) table.simple th{
background: var(--sand); color: var(--deep); font-size: .7rem; text-transform: uppercase; letter-spacing: .06em;}
body:not(#pi-x) table.simple tr:last-child td{
border-bottom: 0;}
body:not(#pi-x) table.simple tbody tr:hover{
background: rgba(63, 157, 118, .04);}
body:not(#pi-x) .form-box{
background: var(--paper-2); border: 1px solid var(--line); border-radius: var(--radius); padding: 30px; box-shadow: var(--shadow-1);}
body:not(#pi-x) .form-row{
margin-bottom: 18px;}
body:not(#pi-x) label{
display: block; font: 600 .82rem/1 var(--font); margin-bottom: 7px; color: var(--deep);}
body:not(#pi-x) input, body:not(#pi-x) select, body:not(#pi-x) textarea{
width: 100%; padding: 12px 15px; border: 1px solid var(--line); border-radius: 10px;
  font: 400 .93rem/1.5 var(--font); color: var(--ink); background: var(--paper);
  transition: border-color .16s var(--ease), box-shadow .16s var(--ease), background .16s var(--ease);}
body:not(#pi-x) input:focus, body:not(#pi-x) select:focus, body:not(#pi-x) textarea:focus{
outline: 0; border-color: var(--moss); background: #fff; box-shadow: 0 0 0 3px rgba(63, 157, 118, .12);}
body:not(#pi-x) .img-ph{
display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 8px; text-align: center; padding: 24px; width: 100%; min-height: 220px;
  border: 1.5px dashed #b9cdbf; border-radius: var(--radius);
  color: var(--forest); font-weight: 600;
  background: repeating-linear-gradient(-45deg, rgba(31, 89, 70, .04) 0 12px, transparent 12px 24px), var(--sand);}
body:not(#pi-x) .img-ph svg{
width: 32px; height: 32px; opacity: .7;}
body:not(#pi-x) .img-ph .dim{
font: 400 .74rem/1.4 var(--font); color: var(--ink-3);
  background: var(--paper-2); border: 1px solid var(--line); border-radius: var(--pill); padding: 4px 12px;}
body:not(#pi-x) .img-ph.wide{
min-height: 300px;}
body:not(#pi-x) .img-ph.tall{
min-height: 380px;}
body:not(#pi-x) footer.site-footer{
background: var(--void); color: var(--on-dark-2); padding-top: 60px; font-size: .82rem;}
body:not(#pi-x) footer.site-footer > .container{
max-width: min(1520px, 94vw);}
body:not(#pi-x) .footer-grid{
display: grid; grid-template-columns: 1.05fr 1.15fr 1.25fr 1fr; gap: 28px 48px; padding-bottom: 44px;}
body:not(#pi-x) .footer-brand .desc{
font-style: italic;}
body:not(#pi-x) footer li a{
word-break: normal; overflow-wrap: anywhere;}
body:not(#pi-x) footer .logo-white{
height: 40px; width: auto; margin-bottom: 16px; filter: brightness(0) invert(1); opacity: .92;}
body:not(#pi-x) footer h4{
color: #fff; font: 700 .82rem/1.2 var(--font); text-transform: uppercase; letter-spacing: .12em;
  margin-bottom: 16px; padding-bottom: 10px; border-bottom: 1px solid var(--line-dark);}
body:not(#pi-x) footer ul{
list-style: none; margin: 0; padding: 0;}
body:not(#pi-x) footer li{
margin-bottom: 9px; line-height: 1.5; font-size: .82rem;}
body:not(#pi-x) footer li strong, body:not(#pi-x) footer li b{
color: var(--on-dark); font-weight: 600;}
body:not(#pi-x) footer a{
color: var(--on-dark-2); font-size: .82rem;}
body:not(#pi-x) footer a:hover{
color: var(--lume);}
body:not(#pi-x) footer p.desc{
font-size: .82rem; color: var(--on-dark-2); max-width: 34ch; line-height: 1.55;}
body:not(#pi-x) .footer-social{
display: flex; gap: 10px; margin-top: 16px;}
body:not(#pi-x) .footer-social a{
width: 36px; height: 36px; border-radius: 50%; background: rgba(255, 255, 255, .07); display: flex; align-items: center; justify-content: center; color: var(--on-dark);}
body:not(#pi-x) .footer-social a:hover{
background: var(--lume); color: var(--deep);}
body:not(#pi-x) .footer-bottom{
border-top: 1px solid var(--line-dark); padding-block: 18px; font-size: .78rem; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px;}
body:not(#pi-x) .footer-credit{
border-top: 1px solid var(--line-dark); padding-block: 14px; text-align: center; font-size: .76rem; color: rgba(169, 198, 184, .7);}
body:not(#pi-x) .footer-credit a{
color: rgba(169, 198, 184, .85); font-weight: 500;}
body:not(#pi-x) .footer-credit a:hover{
color: var(--lume);}
body:not(#pi-x) .text-center{
text-align: center;}
body:not(#pi-x) .mt-0{
margin-top: 0;}
body:not(#pi-x) .mb-0{
margin-bottom: 0;}
body:not(#pi-x) .small{
font-size: .82rem;}
body:not(#pi-x) .note-box{
background: rgba(255, 106, 61, .06); border: 1px solid rgba(255, 106, 61, .2);
  border-left: 3px solid var(--spark); border-radius: 12px;
  padding: 16px 18px; font-size: .9rem; color: #7a4420; margin-bottom: 24px;}
body:not(#pi-x) .note-box strong{
color: var(--spark-d);}
@media (prefers-reduced-motion: no-preference){
html.js body:not(#pi-x) .reveal{
opacity: 0; transform: translateY(16px); transition: opacity .6s var(--ease), transform .6s var(--ease);}
html.js body:not(#pi-x) .reveal.in{
opacity: 1; transform: none;}
body:not(#pi-x) .reveal.d1{
transition-delay: .07s;}
body:not(#pi-x) .reveal.d2{
transition-delay: .14s;}
body:not(#pi-x) .reveal.d3{
transition-delay: .21s;}
}
body:not(#pi-x) .a11y-bar{
display: none !important;}
body:not(#pi-x) .a11y-widget{
position: fixed; right: 18px; bottom: 20px; z-index: 315; display: flex; flex-direction: column; align-items: flex-end; gap: 12px;}
body:not(#pi-x) .a11y-fab{
width: 52px; height: 52px; border-radius: 50%; border: 0; cursor: pointer; padding: 0;
  background: var(--void); color: #fff; display: grid; place-items: center;
  box-shadow: var(--shadow-2); transition: transform .18s var(--ease), background .18s var(--ease);}
body:not(#pi-x) .a11y-fab:hover{
transform: scale(1.08); background: var(--forest);}
body:not(#pi-x) .a11y-widget.has-active .a11y-fab{
background: var(--spark);}
body:not(#pi-x) .a11y-panel{
width: 264px; max-width: 78vw; background: var(--paper); color: var(--ink);
  border: 1px solid var(--line); border-radius: 16px; box-shadow: var(--shadow-2);
  padding: 14px; display: none;
  max-height: calc(100vh - 96px); overflow-y: auto;}
body:not(#pi-x) .a11y-widget.open .a11y-panel{
display: block;}
body:not(#pi-x) .a11y-title{
font: 700 .74rem/1 var(--font); text-transform: uppercase; letter-spacing: .12em; color: var(--ink-3); margin: 0 0 10px;}
body:not(#pi-x) .a11y-actions{
display: grid; gap: 6px;}
body:not(#pi-x) .a11y-actions button{
display: flex; align-items: center; gap: 8px; width: 100%; text-align: left;
  padding: 10px 12px; border-radius: 10px; border: 1px solid var(--line); background: var(--paper-2);
  font: 600 .88rem/1.25 var(--font); color: var(--ink); cursor: pointer;
  transition: background .14s var(--ease), border-color .14s var(--ease), color .14s var(--ease);}
body:not(#pi-x) .a11y-actions button:hover{
background: var(--sand);}
body:not(#pi-x) .a11y-actions button.on{
background: var(--forest); color: #fff; border-color: var(--forest);}
body:not(#pi-x) .a11y-actions .a11y-reset{
justify-content: center; background: transparent; margin-top: 4px;}
body:not(#pi-x) .a11y-actions button[disabled]{
opacity: .45; cursor: not-allowed;}
html.a11y-gray{
filter: grayscale(1);}
html.a11y-invert{
filter: invert(1) hue-rotate(180deg);}
html.a11y-gray.a11y-invert{
filter: grayscale(1) invert(1) hue-rotate(180deg);}
html.a11y-invert body:not(#pi-x) img, html.a11y-invert body:not(#pi-x) video, html.a11y-invert body:not(#pi-x) .fig, html.a11y-invert body:not(#pi-x) .news-thumb, html.a11y-invert body:not(#pi-x) section.page-hero, html.a11y-invert body:not(#pi-x) .hero-scene, html.a11y-invert body:not(#pi-x) .a11y-widget{
filter: invert(1) hue-rotate(180deg);}
html.a11y-links body:not(#pi-x) a{
text-decoration: underline !important; outline: 2px solid currentColor; outline-offset: 2px;}
@media (max-width: 680px){
body:not(#pi-x) .a11y-widget{
right: 12px; bottom: 14px;}
}
@media (prefers-reduced-motion: reduce){
body:not(#pi-x) .a11y-fab{
transition: none;}
}
@media (max-width: 1040px){
body:not(#pi-x) .grid-4{
grid-template-columns: repeat(2, 1fr);}
body:not(#pi-x) .grid-3{
grid-template-columns: repeat(2, 1fr);}
body:not(#pi-x) .stats, body:not(#pi-x) .stats-band{
grid-template-columns: repeat(2, 1fr);}
body:not(#pi-x) .stats-band .s + .s::before{
display: none;}
body:not(#pi-x) .footer-grid{
grid-template-columns: 1fr 1fr;}
body:not(#pi-x) .hero-links .container{
grid-template-columns: repeat(2, 1fr);}
body:not(#pi-x) .hero-links a:nth-child(2n){
border-left: 1px solid var(--line-dark);}
body:not(#pi-x) .hero-links a:nth-child(n+3){
border-top: 1px solid var(--line-dark);}
}
@media (max-width: 1560px){
body:not(#pi-x) .logo img{
height: 44px;}
body:not(#pi-x) .hamburger{
display: flex;}
body:not(#pi-x) header.site-header{
background: var(--paper);
    backdrop-filter: none; -webkit-backdrop-filter: none;}
body:not(#pi-x) nav.main-nav{
position: fixed; top: 0; right: 0; bottom: 0;
    width: min(390px, 86vw); height: 100dvh; margin: 0; padding: 0;
    background: var(--paper);
    box-shadow: -24px 0 60px -24px rgba(13, 51, 45, .4);
    display: flex; flex-direction: column; align-items: stretch;
    transform: translateX(102%);
    transition: transform .34s var(--ease);
    z-index: 320; overflow: hidden; visibility: hidden;}
body:not(#pi-x) nav.main-nav.open{
transform: translateX(0); visibility: visible;}
body:not(#pi-x) .mobile-nav-head{
display: flex; align-items: center; justify-content: space-between; gap: 12px;
    padding: 12px 12px 12px 20px; flex-shrink: 0;
    border-bottom: 1px solid var(--line);}
body:not(#pi-x) .mobile-nav-head .mnav-logo img{
height: 36px; width: auto;}
body:not(#pi-x) .nav-close{
flex-shrink: 0; width: 44px; height: 44px; border: 0; border-radius: 50%;
    background: var(--sand); color: var(--deep); cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    transition: background .16s var(--ease), color .16s var(--ease), transform .16s var(--ease);}
body:not(#pi-x) .nav-close:hover, body:not(#pi-x) .nav-close:focus-visible{
background: var(--spark); color: #fff; outline: none;}
body:not(#pi-x) .nav-close:active{
transform: scale(.9);}
body:not(#pi-x) nav.main-nav > ul{
flex: 1; min-height: 0; overflow-y: auto; -webkit-overflow-scrolling: touch;
    flex-direction: column; align-items: stretch; gap: 0;
    margin: 0; padding: 6px 14px calc(24px + env(safe-area-inset-bottom));}
body:not(#pi-x) nav.main-nav > ul > li{
width: 100%; border-bottom: 1px solid var(--line);}
body:not(#pi-x) nav.main-nav > ul > li:last-child{
border-bottom: 0;}
body:not(#pi-x) nav.main-nav > ul > li > a, body:not(#pi-x) nav.main-nav > ul > li > button.nav-toggle{
width: 100%; justify-content: space-between;
    padding: 15px 8px; font-size: 1rem; font-weight: 500; border-radius: 0; color: var(--deep);}
body:not(#pi-x) nav.main-nav > ul > li > a::after{
display: none;}
body:not(#pi-x) nav.main-nav > ul > li > a[aria-current="page"]{
color: var(--spark-d); font-weight: 600;}
body:not(#pi-x) nav.main-nav > ul > li > a:hover, body:not(#pi-x) nav.main-nav > ul > li > button.nav-toggle:hover{
background: transparent; color: var(--forest);}
body:not(#pi-x) nav.main-nav .caret{
font-size: .82rem; opacity: .6; transition: transform .22s var(--ease);}
body:not(#pi-x) nav.main-nav > ul > li.open .caret{
transform: rotate(180deg);}
body:not(#pi-x) .dropdown{
position: static; display: none; box-shadow: none; border: 0;
    background: var(--sand); border-radius: 12px; margin: 0 0 12px; padding: 4px;}
body:not(#pi-x) li.open > .dropdown{
display: block;}
body:not(#pi-x) .dropdown a{
padding: 12px 14px; font-size: .92rem; border-radius: 8px;}
body:not(#pi-x) nav.main-nav > ul > li:last-child{
padding-top: 16px;}
body:not(#pi-x) nav.main-nav > ul > li:last-child .btn-cta{
display: flex !important; justify-content: center; text-align: center;
    margin: 0 !important; padding: 15px !important; border-radius: var(--pill) !important;}
body:not(#pi-x) .nav-backdrop{
display: block; position: fixed; inset: 0; z-index: 310;
    background: rgba(10, 46, 40, .58);
    opacity: 0; pointer-events: none; transition: opacity .3s var(--ease);}
body:not(#pi-x).nav-open .nav-backdrop{
opacity: 1; pointer-events: auto;}
body:not(#pi-x).nav-open{
overflow: hidden;}
body:not(#pi-x).nav-open .a11y-bar, body:not(#pi-x).nav-open .a11y-widget{
display: none;}
body:not(#pi-x).nav-open [vw]{
display: none !important;}
body:not(#pi-x).nav-open header.site-header{
z-index: 330; box-shadow: none; border-bottom-color: transparent; background: var(--paper);}
body:not(#pi-x).nav-open .nav-wrap > .logo, body:not(#pi-x).nav-open .hamburger{
opacity: 0; visibility: hidden; pointer-events: none;}
}
@media (max-width: 680px){
:root{
--pad: 18px;}
body:not(#pi-x) .topbar{
display: none;}
body:not(#pi-x) .hero .container{
padding-block: 40px 48px;}
body:not(#pi-x) .hero-eyebrow{
letter-spacing: .1em; font-size: .66rem;}
body:not(#pi-x) .hero h1{
font-size: clamp(1.7rem, 1rem + 4vw, 2.2rem);}
body:not(#pi-x) .grid-2, body:not(#pi-x) .grid-3, body:not(#pi-x) .grid-4{
grid-template-columns: 1fr;}
body:not(#pi-x) .stats, body:not(#pi-x) .stats-band{
grid-template-columns: 1fr 1fr;}
body:not(#pi-x) .footer-grid{
grid-template-columns: 1fr;}
body:not(#pi-x) .cta-banner{
flex-direction: column; align-items: flex-start;}
body:not(#pi-x) .hero-links .container{
grid-template-columns: 1fr;}
body:not(#pi-x) .hero-links a{
border-left: 0 !important;}
body:not(#pi-x) .hero-links a + a{
border-top: 1px solid var(--line-dark);}
}
body:not(#pi-x) .quick-chip{
transition: background .16s var(--ease), color .16s var(--ease), transform .16s var(--ease);}
body:not(#pi-x) .quick-chip:hover{
transform: translateY(-2px);}
body:not(#pi-x) .quick-chip:nth-child(3n):hover{
background: var(--spark);}
body:not(#pi-x) .news-card{
transition: transform .22s var(--ease), box-shadow .22s var(--ease), border-color .22s var(--ease);}
body:not(#pi-x) .news-card:hover{
border-color: rgba(255, 106, 61, .4);}
body:not(#pi-x) .news-tag{
transition: background .2s var(--ease), color .2s var(--ease);}
body:not(#pi-x) .news-card:hover .news-tag{
background: var(--spark); color: #fff;}
body:not(#pi-x) .news-card h3{
transition: color .2s var(--ease);}
body:not(#pi-x) .news-card:hover h3{
color: var(--spark-d);}
body:not(#pi-x) .partners-track img{
transition: transform .2s var(--ease), border-color .2s var(--ease), box-shadow .2s var(--ease);}
body:not(#pi-x) .partners-track img:hover{
transform: translateY(-4px) scale(1.03); border-color: rgba(255, 106, 61, .4); box-shadow: var(--shadow-1);}
body:not(#pi-x) .tab-btn{
position: relative;}
body:not(#pi-x) .tab-btn.active::after{
content: ""; position: absolute; left: 50%; bottom: -7px; width: 20px; height: 3px;
  border-radius: 3px; background: var(--spark); transform: translateX(-50%);}
body:not(#pi-x) .accordion-trigger{
transition: background .16s var(--ease);}
body:not(#pi-x) .accordion-trigger:hover{
background: rgba(255, 106, 61, .05);}
body:not(#pi-x) .accordion-trigger:hover .plus{
transform: scale(1.15);}
body:not(#pi-x) .accordion-item.open .accordion-trigger:hover .plus{
transform: rotate(135deg) scale(1.15);}
body:not(#pi-x) .footer-social a{
transition: background .18s var(--ease), color .18s var(--ease), transform .18s var(--ease);}
body:not(#pi-x) .footer-social a:hover{
background: var(--spark); color: #fff; transform: translateY(-2px);}
body:not(#pi-x) .stats-band .s{
transition: transform .2s var(--ease);}
body:not(#pi-x) .stats-band .s:hover{
transform: translateY(-3px);}
body:not(#pi-x) .stats-band .s:hover .num{
color: var(--lume);}
body:not(#pi-x) .stats-band .num{
transition: color .2s var(--ease);}
body:not(#pi-x) .card-link::after{
transition: transform .18s var(--ease);}
body:not(#pi-x) .img-ph{
transition: border-color .2s var(--ease), color .2s var(--ease);}
body:not(#pi-x) .img-ph:hover{
border-color: var(--spark); color: var(--spark-d);}
body:not(#pi-x) .btn-cta{
transition: background .18s var(--ease), transform .16s var(--ease) !important;}
body:not(#pi-x) .btn-cta:hover{
transform: translateY(-2px);}
body:not(#pi-x) .data-table{
width: 100%; border-collapse: collapse; font-size: .95rem;}
body:not(#pi-x) .data-table th, body:not(#pi-x) .data-table td{
text-align: left; padding: 10px 14px; border-bottom: 1px solid var(--line); vertical-align: top;}
body:not(#pi-x) .data-table tr:last-child th, body:not(#pi-x) .data-table tr:last-child td{
border-bottom: 0;}
body:not(#pi-x) .data-table th[scope="row"]{
width: 34%; color: var(--ink-3); font-weight: 600; white-space: nowrap;}
@media (max-width: 560px){
body:not(#pi-x) .data-table, body:not(#pi-x) .data-table tbody, body:not(#pi-x) .data-table tr, body:not(#pi-x) .data-table th, body:not(#pi-x) .data-table td{
display: block; width: 100%;}
body:not(#pi-x) .data-table th[scope="row"]{
border-bottom: 0; padding-bottom: 2px;}
body:not(#pi-x) .data-table td{
padding-top: 2px; padding-bottom: 12px;}
}
@media (prefers-reduced-motion: reduce){
body:not(#pi-x) .partners-track{
animation: none;}
*, *::before, *::after{
transition: none !important; animation: none !important;}
*{
scroll-behavior: auto;}
}
body:not(#pi-x) .scroll-progress{
position: fixed; inset: 0 auto auto 0; height: 3px; width: 0;
  background: linear-gradient(90deg, var(--moss), var(--leaf) 45%, var(--spark));
  box-shadow: 0 0 10px rgba(255, 106, 61, .55);
  z-index: 600; pointer-events: none; border-radius: 0 2px 2px 0;}
body:not(#pi-x) .site-header .logo img{
transition: transform .5s cubic-bezier(.2, .7, .2, 1);}
body:not(#pi-x) .site-header .logo:hover img{
transform: perspective(520px) rotateY(-22deg) scale(1.04);}
body:not(#pi-x) section.hero{
min-height: clamp(460px, 66vh, 620px); display: flex; flex-direction: column; justify-content: center;}
body:not(#pi-x) .hero .container{
z-index: 2; transform: translateY(calc(var(--sp, 0) * 24px));}
body:not(#pi-x) .hero h1, body:not(#pi-x) .hero p.lead{
text-shadow: 0 2px 26px rgba(4, 20, 17, .38);}
body:not(#pi-x) .hero-scene{
position: absolute; inset: 0; overflow: hidden;
  z-index: 0; pointer-events: none;
  perspective: 1150px; perspective-origin: 72% 42%;}
body:not(#pi-x) .hero-scene::before{
content: ""; position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(96deg, #0b332d 0%, rgba(11, 51, 45, .9) 30%, rgba(11, 51, 45, 0) 66%);}
body:not(#pi-x) .hero-floor{
position: absolute; left: -25%; right: -25%; bottom: -34%; height: 80%;
  background-image:
    linear-gradient(rgba(183, 207, 98, .16) 1.5px, transparent 1.5px),
    linear-gradient(90deg, rgba(183, 207, 98, .16) 1.5px, transparent 1.5px);
  background-size: 52px 52px;
  transform: rotateX(75deg) translateY(calc(var(--sp, 0) * 40px));
  transform-origin: 50% 100%;
  -webkit-mask-image: linear-gradient(to top, #000, transparent 76%);
  mask-image: linear-gradient(to top, #000, transparent 76%);
  opacity: calc(.55 - var(--sp, 0) * .55);
  animation: floorDrift 16s linear infinite;}
@keyframes floorDrift{
to{
background-position: 0 52px, 52px 0;}
}
body:not(#pi-x) .hero-stage{
position: absolute; top: 50%;
  right: max(1.5%, calc(50% - 700px));
  width: min(430px, 44vw); aspect-ratio: 1;
  transform-style: preserve-3d;
  transform:
    translate3d(calc(var(--mx, 0) * -28px), calc(-50% + var(--my, 0) * -20px - var(--sp, 0) * 150px), 0)
    rotateX(calc(var(--my, 0) * -9deg + var(--sp, 0) * -14deg))
    rotateY(calc(-14deg + var(--mx, 0) * 20deg));
  transition: transform .5s cubic-bezier(.2, .7, .2, 1);
  will-change: transform;}
body:not(#pi-x) .hero-stage .spinner{
position: absolute; inset: 0; transform-style: preserve-3d;}
body:not(#pi-x) .hero-stage .spinner.tumble{
animation: stageTumble 1.15s cubic-bezier(.3, .7, .3, 1);}
@keyframes stageTumble{
0%{
transform: rotateY(0) rotateX(0);}
60%{
transform: rotateY(382deg) rotateX(16deg);}
100%{
transform: rotateY(360deg) rotateX(0);}
}
body:not(#pi-x) .hero-stage .piece{
position: absolute; transform-style: preserve-3d;
  opacity: 0; translate: 0 46px;
  transition: opacity .9s ease, translate 1s cubic-bezier(.2, .8, .2, 1);}
body:not(#pi-x) .hero.lit .hero-stage .piece{
opacity: 1; translate: 0 0;}
body:not(#pi-x) .hero.lit .hero-stage .p-panel-b{
transition-delay: .08s;}
body:not(#pi-x) .hero.lit .hero-stage .p-ring{
transition-delay: .16s;}
body:not(#pi-x) .hero.lit .hero-stage .p-mark{
transition-delay: .24s;}
body:not(#pi-x) .hero-stage .piece > i{
display: block; width: 100%; height: 100%;}
body:not(#pi-x) .hero-stage .p-ghost{
inset: -20% -12% auto auto; width: 132%; height: 132%; transform: translateZ(-160px);}
body:not(#pi-x) .hero-stage .p-ghost{
opacity: 0;}
body:not(#pi-x) .hero.lit .hero-stage .p-ghost{
opacity: .10;}
body:not(#pi-x) .hero-stage .p-ghost img{
width: 100%; height: 100%; object-fit: contain; filter: grayscale(1) brightness(3.4);}
body:not(#pi-x) .hero-stage .p-ghost > i{
animation: swayGhost 13s ease-in-out infinite;}
body:not(#pi-x) .hero-stage .p-mark{
top: -2%; right: 0; width: 56%; height: 56%; transform: translateZ(155px);}
body:not(#pi-x) .hero-stage .p-mark img{
width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 28px 46px rgba(0, 0, 0, .55));}
body:not(#pi-x) .hero-stage .p-mark > i{
animation: floatA 7s ease-in-out infinite;}
body:not(#pi-x) .hero-stage .p-panel-a{
left: 0; bottom: 4%; width: 60%; height: 44%; transform: translateZ(50px);
  border-radius: 20px;
  background: linear-gradient(150deg, rgba(63, 157, 118, .26), rgba(31, 89, 70, .08));
  border: 1px solid rgba(255, 255, 255, .18);
  box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .5);}
body:not(#pi-x) .hero-stage .p-panel-a > i{
animation: floatB 9s ease-in-out infinite;}
body:not(#pi-x) .hero-stage .p-panel-b{
right: 1%; top: 28%; width: 40%; height: 30%; transform: translateZ(185px) rotate(8deg);
  border-radius: 16px;
  background: linear-gradient(150deg, rgba(255, 106, 61, .5), rgba(224, 80, 31, .18));
  border: 1px solid rgba(255, 255, 255, .28);
  box-shadow: 0 24px 44px -16px rgba(224, 80, 31, .55);}
body:not(#pi-x) .hero-stage .p-panel-b > i{
animation: floatA 8s ease-in-out infinite .6s;}
body:not(#pi-x) .hero-stage .p-ring{
inset: 3% 3% auto auto; width: 84%; height: 84%; transform: translateZ(10px); border-radius: 50%; border: 2px dashed rgba(183, 207, 98, .5);}
body:not(#pi-x) .hero-stage .p-ring > i{
border-radius: 50%; border: 1px solid rgba(255, 255, 255, .12); animation: spinSlow 28s linear infinite;}
body:not(#pi-x) .hero-stage .p-orb{
inset: auto auto -8% -12%; width: 72%; height: 72%; transform: translateZ(-70px);
  border-radius: 50%;
  background: radial-gradient(circle at 40% 40%, rgba(183, 207, 98, .5), transparent 68%);
  filter: blur(20px);}
body:not(#pi-x) .hero-stage .p-orb > i{
animation: floatB 11s ease-in-out infinite;}
@keyframes floatA{
0%, 100%{
translate: 0 0; rotate: 0deg;}
50%{
translate: 0 -22px; rotate: 3deg;}
}
@keyframes floatB{
0%, 100%{
translate: 0 0;}
50%{
translate: 0 18px;}
}
@keyframes swayGhost{
0%, 100%{
rotate: -3deg;}
50%{
rotate: 3deg;}
}
@keyframes spinSlow{
to{
rotate: 360deg;}
}
@media (max-width: 1240px){
body:not(#pi-x) .hero-stage{
right: -2%; width: min(400px, 46vw); opacity: 1;}
}
@media (max-width: 900px){
body:not(#pi-x) .hero-stage{
right: -6%; width: 54vw; opacity: 1;}
body:not(#pi-x) .hero-stage .p-panel-b{
display: none;}
}
@media (max-width: 620px){
body:not(#pi-x) section.hero{
min-height: 90vh; justify-content: flex-start;}
body:not(#pi-x) .hero-scene{
opacity: 1;}
body:not(#pi-x) .hero-scene::before{
background: linear-gradient(179deg, #0b332d 0%, rgba(11, 51, 45, .95) 26%, rgba(11, 51, 45, .3) 62%, rgba(11, 51, 45, 0) 90%);}
body:not(#pi-x) .hero-stage{
right: auto; left: 50%; top: auto; bottom: 2%;
    width: 92vw; max-width: 420px; aspect-ratio: 1; opacity: 1;
    transform:
      translate3d(-50%, calc(var(--sp, 0) * -70px), 0)
      rotateX(calc(var(--sp, 0) * -10deg))
      rotateY(-9deg);}
body:not(#pi-x) .hero-stage .p-panel-a, body:not(#pi-x) .hero-stage .p-ring, body:not(#pi-x) .hero-stage .p-panel-b{
display: block;}
body:not(#pi-x) .hero-floor{
display: block; bottom: -26%; opacity: .3;}
body:not(#pi-x) .hero .container{
padding-block: 38px 42px;}
body:not(#pi-x) .hero p.lead{
margin-bottom: 22px;}
}
@media (max-width: 400px){
body:not(#pi-x) .hero-stage{
bottom: 0; width: 96vw;}
body:not(#pi-x) .hero-stage .p-panel-b{
display: none;}
}
@media (prefers-reduced-motion: no-preference){
html.js body:not(#pi-x) .reveal-3d{
opacity: 0; transform: perspective(1200px) rotateX(-15deg) translateY(50px);
    transform-origin: 50% 100%; transition: opacity .75s var(--ease), transform .75s var(--ease);}
html.js body:not(#pi-x) .reveal-3d.in{
opacity: 1; transform: none;}
html.js body:not(#pi-x) .reveal-l{
opacity: 0; transform: translateX(-52px); transition: opacity .7s var(--ease), transform .7s var(--ease);}
html.js body:not(#pi-x) .reveal-r{
opacity: 0; transform: translateX(52px); transition: opacity .7s var(--ease), transform .7s var(--ease);}
html.js body:not(#pi-x) .reveal-l.in, html.js body:not(#pi-x) .reveal-r.in{
opacity: 1; transform: none;}
html.js body:not(#pi-x) .reveal-zoom{
opacity: 0; transform: scale(.9); transition: opacity .7s var(--ease), transform .7s var(--ease);}
html.js body:not(#pi-x) .reveal-zoom.in{
opacity: 1; transform: none;}
html.js body:not(#pi-x) .reveal-stagger > *{
opacity: 0; transform: translateY(28px); transition: opacity .6s var(--ease), transform .6s var(--ease);}
html.js body:not(#pi-x) .reveal-stagger.in > *{
opacity: 1; transform: none;}
html.js body:not(#pi-x) .reveal-stagger.in > *:nth-child(2){
transition-delay: .09s;}
html.js body:not(#pi-x) .reveal-stagger.in > *:nth-child(3){
transition-delay: .18s;}
html.js body:not(#pi-x) .reveal-stagger.in > *:nth-child(4){
transition-delay: .27s;}
html.js body:not(#pi-x) .reveal-stagger.in > *:nth-child(5){
transition-delay: .36s;}
html.js body:not(#pi-x) .reveal-stagger.in > *:nth-child(6){
transition-delay: .45s;}
body:not(#pi-x) .split .wm{
display: inline-block; overflow: hidden; vertical-align: top; padding: .1em 0; margin: -.1em 0;}
html.js body:not(#pi-x) .split .w{
display: inline-block; transform: translateY(118%) rotate(5deg); opacity: 0;
    transition: transform .65s cubic-bezier(.2, .8, .2, 1), opacity .65s ease; transition-delay: calc(var(--i, 0) * .05s);}
html.js body:not(#pi-x) .split.is-in .w, html.js body:not(#pi-x) .hero.lit .split .w{
transform: none; opacity: 1;}
@keyframes mapFloat{
0%, 100%{
translate: 0 0;}
50%{
translate: 0 -10px;}
}
}
@media (prefers-reduced-motion: reduce){
body:not(#pi-x) .hero-scene, body:not(#pi-x) .scroll-progress{
display: none !important;}
}
body:not(#pi-x).a11y-contrast .hero-scene{
display: none;}
body:not(#pi-x) .circuit-deco{
position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: hidden;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='440' height='300' viewBox='0 0 440 300'%3E%3Cg fill='none' stroke='%23b7cf62' stroke-width='1.5'%3E%3Cpath d='M0 40H90L120 70H220M220 70L250 40H440'/%3E%3Cpath d='M0 150H60L100 110H180L220 150H320L360 110H440'/%3E%3Cpath d='M0 250H120L150 220H280L320 260H440'/%3E%3Cpath d='M70 0V50L100 80V300'/%3E%3Cpath d='M200 0V30L240 70V180L210 210V300'/%3E%3Cpath d='M330 0V60L300 90V300'/%3E%3Cpath d='M400 20H440M410 20V120H440'/%3E%3C/g%3E%3Cg fill='%23b7cf62'%3E%3Ccircle cx='90' cy='40' r='3.4'/%3E%3Ccircle cx='220' cy='70' r='3.4'/%3E%3Ccircle cx='250' cy='40' r='3.4'/%3E%3Ccircle cx='60' cy='150' r='3.4'/%3E%3Ccircle cx='180' cy='110' r='3.4'/%3E%3Ccircle cx='320' cy='150' r='3.4'/%3E%3Ccircle cx='360' cy='110' r='3.4'/%3E%3Ccircle cx='120' cy='250' r='3.4'/%3E%3Ccircle cx='280' cy='220' r='3.4'/%3E%3Ccircle cx='100' cy='80' r='3.4'/%3E%3Ccircle cx='240' cy='70' r='3.4'/%3E%3Ccircle cx='210' cy='210' r='3.4'/%3E%3Ccircle cx='300' cy='90' r='3.4'/%3E%3Ccircle cx='410' cy='120' r='3.4'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 440px 300px;
  opacity: .08;
  -webkit-mask-image: radial-gradient(120% 130% at 100% 0%, #000 0%, rgba(0,0,0,.35) 45%, transparent 78%);
  mask-image: radial-gradient(120% 130% at 100% 0%, #000 0%, rgba(0,0,0,.35) 45%, transparent 78%);}
body:not(#pi-x) .circuit-deco.on-light{
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='440' height='300' viewBox='0 0 440 300'%3E%3Cg fill='none' stroke='%232f7a5e' stroke-width='1.5'%3E%3Cpath d='M0 40H90L120 70H220M220 70L250 40H440'/%3E%3Cpath d='M0 150H60L100 110H180L220 150H320L360 110H440'/%3E%3Cpath d='M0 250H120L150 220H280L320 260H440'/%3E%3Cpath d='M70 0V50L100 80V300'/%3E%3Cpath d='M200 0V30L240 70V180L210 210V300'/%3E%3Cpath d='M330 0V60L300 90V300'/%3E%3C/g%3E%3Cg fill='%232f7a5e'%3E%3Ccircle cx='90' cy='40' r='3.4'/%3E%3Ccircle cx='220' cy='70' r='3.4'/%3E%3Ccircle cx='250' cy='40' r='3.4'/%3E%3Ccircle cx='60' cy='150' r='3.4'/%3E%3Ccircle cx='180' cy='110' r='3.4'/%3E%3Ccircle cx='320' cy='150' r='3.4'/%3E%3Ccircle cx='360' cy='110' r='3.4'/%3E%3Ccircle cx='120' cy='250' r='3.4'/%3E%3Ccircle cx='280' cy='220' r='3.4'/%3E%3C/g%3E%3C/svg%3E");
  opacity: .07;}
body:not(#pi-x) section.dark, body:not(#pi-x) .stats-band, body:not(#pi-x) .cta-banner{
position: relative;}
body:not(#pi-x) .stats-band, body:not(#pi-x) .cta-banner{
overflow: hidden;}
body:not(#pi-x) section.dark > .container, body:not(#pi-x) .stats-band > *:not(.circuit-deco), body:not(#pi-x) .cta-banner > *:not(.circuit-deco){
position: relative; z-index: 1;}
@media (prefers-reduced-motion: reduce){
body:not(#pi-x) .circuit-deco{
opacity: .05;}
}
body:not(#pi-x).a11y-contrast .circuit-deco{
display: none;}
@media (prefers-reduced-motion: no-preference){
body:not(#pi-x) .tilt-grid{
perspective: 1000px;}
body:not(#pi-x) .tilt-grid > .card{
transform-style: preserve-3d;
    transform: perspective(1000px) rotateX(var(--ry, 0deg)) rotateY(var(--rx, 0deg));
    transition: transform .3s var(--ease), box-shadow .3s var(--ease);
    will-change: transform;}
body:not(#pi-x) .tilt-grid > .card.tilting{
transition: transform .08s linear, box-shadow .3s var(--ease);}
body:not(#pi-x) .tilt-grid > .card > *{
transform: translateZ(28px);}
body:not(#pi-x) .tilt-grid > .card .icon{
transform: translateZ(46px);}
body:not(#pi-x) .tilt-grid > .card .card-glow{
position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
    transform: none !important; opacity: 0; transition: opacity .25s var(--ease);
    background: radial-gradient(240px circle at var(--gx, 50%) var(--gy, 0%), rgba(255, 255, 255, .5), transparent 62%);
    mix-blend-mode: soft-light;}
body:not(#pi-x) section.dark .tilt-grid > .card .card-glow{
background: radial-gradient(240px circle at var(--gx,50%) var(--gy,0%), rgba(183,207,98,.28), transparent 62%); mix-blend-mode: screen;}
body:not(#pi-x) .tilt-grid > .card:hover .card-glow{
opacity: 1;}
body:not(#pi-x) .tilt-grid > .card:hover{
box-shadow: var(--shadow-2);}
html.js body:not(#pi-x) .campi-wrap:not(.map-in) .campi-map-d{
opacity: .001; transform: perspective(1700px) rotateX(26deg) translateY(48px) scale(.96);}
body:not(#pi-x) .campi-map-d{
transform-origin: 50% 100%;
    transition: transform 1.15s var(--ease), opacity .8s ease;}
body:not(#pi-x) .campi-wrap.map-in .campi-map-d{
opacity: 1;
    transform: perspective(1700px) rotateX(var(--mtx, 0deg)) rotateY(var(--mty, 0deg)) translateY(0) scale(1);}
body:not(#pi-x) .campi-wrap.map-in.tilting .campi-map-d{
transition: none;}
body:not(#pi-x) .campi-map-d .rj-top, body:not(#pi-x) .campi-map-d .rj-side{
transition: transform .3s var(--ease);}
body:not(#pi-x) .campi-map-d .cdot{
transform-box: fill-box; transform-origin: center;}
html.js body:not(#pi-x) .campi-wrap:not(.map-in) .campi-map-d .cdot{
opacity: 0;}
body:not(#pi-x) .campi-wrap.map-in .campi-map-d .cdot{
animation: dotPop .6s var(--ease) backwards;
    animation-delay: calc(.5s + var(--di, 0) * .05s);}
@keyframes dotPop{
0%{
opacity: 0; transform: scale(0);}
55%{
opacity: 1; transform: scale(1.4);}
100%{
opacity: 1; transform: scale(1);}
}
body:not(#pi-x) .campi-wrap.map-in .campi-map-d{
animation: mapFloat 8s ease-in-out 1.3s infinite;}
body:not(#pi-x) .stats-band .s{
perspective: 600px;}
body:not(#pi-x) .stats-band.in .num{
animation: flipNum .7s var(--ease) backwards;}
body:not(#pi-x) .stats-band.in .s:nth-child(2) .num{
animation-delay: .1s;}
body:not(#pi-x) .stats-band.in .s:nth-child(3) .num{
animation-delay: .2s;}
body:not(#pi-x) .stats-band.in .s:nth-child(4) .num{
animation-delay: .3s;}
@keyframes flipNum{
from{
opacity: 0; transform: rotateX(-92deg);}
to{
opacity: 1; transform: rotateX(0);}
}
body:not(#pi-x) .scene-deco{
position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: hidden;}
body:not(#pi-x) .has-deco{
position: relative; overflow: clip;}
body:not(#pi-x) .has-deco > .container{
position: relative; z-index: 1;}
body:not(#pi-x) .scene-deco b{
position: absolute; display: block; border-radius: 16px;
    animation: floaty 12s ease-in-out infinite;}
body:not(#pi-x) .scene-deco .d-ring{
width: 190px; height: 190px; border-radius: 50%;
    border: 2px dashed rgba(47, 122, 94, .28);
    right: -50px; top: 12%;}
body:not(#pi-x) .scene-deco .d-panel{
width: 150px; height: 110px;
    background: linear-gradient(150deg, rgba(63, 157, 118, .16), rgba(31, 89, 70, .04));
    border: 1px solid rgba(31, 89, 70, .12);
    left: -46px; bottom: 14%; transform: rotate(-9deg);
    animation-duration: 15s;}
body:not(#pi-x) .scene-deco .d-dot{
width: 90px; height: 90px; border-radius: 50%;
    background: radial-gradient(circle at 40% 40%, rgba(183, 207, 98, .3), transparent 68%);
    filter: blur(6px);
    right: 10%; bottom: 8%;
    animation-duration: 18s;}
body:not(#pi-x) section.dark .scene-deco .d-ring{
border-color: rgba(183, 207, 98, .3);}
body:not(#pi-x) section.dark .scene-deco .d-panel{
background: linear-gradient(150deg, rgba(183,207,98,.12), transparent); border-color: rgba(255,255,255,.12);}
@keyframes floaty{
0%, 100%{
translate: 0 0; rotate: 0deg;}
50%{
translate: 0 -26px; rotate: 6deg;}
}
@supports (animation-timeline: scroll()){
body:not(#pi-x) .scene-deco b{
animation-timeline: scroll(root); animation-range: entry 0% exit 100%;}
body:not(#pi-x) .scene-deco .d-ring{
animation: parY1 linear both; animation-timeline: view();}
body:not(#pi-x) .scene-deco .d-panel{
animation: parY2 linear both; animation-timeline: view();}
body:not(#pi-x) .scene-deco .d-dot{
animation: parY1 linear both; animation-timeline: view();}
@keyframes parY1{
from{
transform: translateY(90px);}
to{
transform: translateY(-90px);}
}
@keyframes parY2{
from{
transform: translateY(-60px) rotate(-9deg);}
to{
transform: translateY(70px) rotate(-2deg);}
}
}
body:not(#pi-x) .circuit-divider{
position: relative; height: 66px; overflow: hidden;}
body:not(#pi-x) .circuit-divider svg{
position: absolute; left: 50%; top: 0; width: min(1200px, 96vw); height: 100%; transform: translateX(-50%); overflow: visible;}
body:not(#pi-x) .circuit-divider .cd-base path{
stroke-dasharray: 100; stroke-dashoffset: 100;
    transition: stroke-dashoffset 1.3s var(--ease);}
body:not(#pi-x) .circuit-divider.in .cd-base path{
stroke-dashoffset: 0;}
body:not(#pi-x) .circuit-divider .cd-flow path{
stroke: var(--lume);
    stroke-dasharray: 13 87;
    stroke-dashoffset: 100;
    opacity: 0;
    filter: drop-shadow(0 0 5px rgba(183, 207, 98, .8));}
body:not(#pi-x) .circuit-divider.in .cd-flow path{
opacity: 1;
    animation: cdFlow var(--dur, 3.2s) linear infinite;
    animation-delay: var(--del, 0s);}
@keyframes cdFlow{
from{
stroke-dashoffset: 100;}
to{
stroke-dashoffset: -13;}
}
body:not(#pi-x) .circuit-divider .cd-nodes circle{
fill: var(--moss); transform-box: fill-box; transform-origin: center; opacity: 0;}
body:not(#pi-x) .circuit-divider.in .cd-nodes circle{
animation: cdNode 2.6s ease-in-out infinite;}
body:not(#pi-x) .circuit-divider.in .cd-nodes circle:nth-child(1){
fill: var(--spark);}
body:not(#pi-x) .circuit-divider.in .cd-nodes circle:nth-child(2){
animation-delay: .5s;}
body:not(#pi-x) .circuit-divider.in .cd-nodes circle:nth-child(3){
animation-delay: 1s;}
body:not(#pi-x) .circuit-divider.in .cd-nodes circle:nth-child(4){
animation-delay: 1.6s; fill: var(--lume);}
@keyframes cdNode{
0%, 100%{
opacity: .45; transform: scale(1);}
50%{
opacity: 1;   transform: scale(1.55);}
}
}
body:not(#pi-x) .circuit-divider{
height: 66px;}
@media (max-width: 900px){
body:not(#pi-x) .scene-deco{
display: none;}
body:not(#pi-x) .tilt-grid{
perspective: none;}
body:not(#pi-x) .tilt-grid > .card{
transform: none !important;}
body:not(#pi-x) .tilt-grid > .card > *, body:not(#pi-x) .tilt-grid > .card .icon{
transform: none;}
}
@media (prefers-reduced-motion: reduce){
body:not(#pi-x) .scene-deco, body:not(#pi-x) .circuit-divider{
display: none;}
body:not(#pi-x) .page-hero .aurora, body:not(#pi-x) .page-hero::after{
animation: none;}
}
body:not(#pi-x).a11y-contrast .scene-deco, body:not(#pi-x).a11y-contrast .circuit-divider{
display: none;}
body:not(#pi-x).a11y-contrast .page-hero .aurora, body:not(#pi-x).a11y-contrast .page-hero::after{
display: none;}
@media (prefers-reduced-motion: no-preference){
html.js body.pg-leave{
opacity: 0; transition: opacity .17s ease;}
html.js body:not(#pi-x) .page-hero .breadcrumb{
animation: phUp .55s var(--ease) both;}
html.js body:not(#pi-x) .page-hero h1{
animation: phUp .65s var(--ease) .07s both;}
html.js body:not(#pi-x) .page-hero > .container > p{
animation: phUp .65s var(--ease) .14s both;}
@keyframes phUp{
from{
opacity: 0; transform: translateY(20px);}
to{
opacity: 1; transform: none;}
}
html.js body:not(#pi-x) .reveal-auto{
opacity: 0; transform: translateY(26px);
    transition: opacity .6s var(--ease), transform .6s var(--ease);
    transition-delay: calc(var(--ai, 0) * .06s);}
html.js body:not(#pi-x) .reveal-auto.in{
opacity: 1; transform: none;}
}
@media (min-width: 1561px){
body:not(#pi-x) nav.main-nav > ul > li > .dropdown{
display: block; opacity: 0; visibility: hidden; pointer-events: none;
    transform: translateY(-8px) scale(.98); transform-origin: top center;
    transition: opacity .18s var(--ease), transform .18s var(--ease), visibility 0s .18s;}
body:not(#pi-x) nav.main-nav > ul > li.open > .dropdown, body:not(#pi-x) nav.main-nav > ul > li:hover > .dropdown{
opacity: 1; visibility: visible; pointer-events: auto; transform: none;
    transition: opacity .18s var(--ease), transform .18s var(--ease);}
}
body:not(#pi-x) .to-top{
position: fixed; left: 18px; bottom: 22px; z-index: 400;
  width: 46px; height: 46px; border: 0; border-radius: 50%; cursor: pointer;
  background: var(--deep); color: #fff; box-shadow: var(--shadow-2);
  display: flex; align-items: center; justify-content: center;
  opacity: 0; transform: translateY(14px) scale(.8); pointer-events: none;
  transition: opacity .25s var(--ease), transform .25s var(--ease), background .16s var(--ease);}
body:not(#pi-x) .to-top.show{
opacity: 1; transform: none; pointer-events: auto;}
body:not(#pi-x) .to-top:hover{
background: var(--spark); transform: translateY(-2px);}
body:not(#pi-x) .to-top svg{
width: 20px; height: 20px;}
@media (max-width: 680px){
body:not(#pi-x) .to-top{
left: 12px; bottom: 14px; width: 42px; height: 42px;}
}
body:not(#pi-x) .img-ph{
position: relative; overflow: hidden;}
body:not(#pi-x) .img-ph.band{
min-height: 190px;}
body:not(#pi-x) .img-ph.hero-band{
min-height: 240px; border-radius: var(--radius);}
@media (prefers-reduced-motion: no-preference){
body:not(#pi-x) .img-ph::after{
content: ""; position: absolute; inset: 0; pointer-events: none;
    background: linear-gradient(115deg, transparent 42%, rgba(255, 255, 255, .55) 50%, transparent 58%);
    transform: translateX(-120%);
    animation: phShine 5.5s ease-in-out infinite;}
@keyframes phShine{
0%, 68%{
transform: translateX(-120%);}
100%{
transform: translateX(120%);}
}
}
body:not(#pi-x) .img-ph:hover::after{
animation-play-state: paused;}
body:not(#pi-x) .edital-docs{
display: flex; flex-direction: column; gap: 12px; margin-top: 22px;}
body:not(#pi-x) .fig{
display: block; width: 100%; border-radius: var(--radius);
  object-fit: cover; object-position: center; box-shadow: var(--shadow-1);
  background: var(--sand);}
body:not(#pi-x) .fig.tall{
aspect-ratio: 1 / 1; max-height: 360px;}
body:not(#pi-x) .fig.portrait{
aspect-ratio: 1040 / 1300; max-height: 650px; object-fit: cover;}
@media (min-width: 901px){
body:not(#pi-x) .grid.grid-2:has(> .fig){
grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
    align-items: center; gap: 48px; max-width: 980px;}
body:not(#pi-x) .grid.grid-2:has(> .fig.portrait){
grid-template-columns: minmax(0, 1fr) minmax(380px, 520px);
    max-width: none; gap: 64px;}
body:not(#pi-x) .grid.grid-2.img-left:has(> .fig.portrait){
grid-template-columns: minmax(380px, 520px) minmax(0, 1fr);}
body:not(#pi-x) .grid.grid-2.img-left:has(> .fig.portrait) > .fig.portrait{
order: -1;}
body:not(#pi-x) .grid.grid-2.edital-split:has(> .fig){
grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
    align-items: start; max-width: 1120px;}
body:not(#pi-x) .edital-split > .fig{
position: sticky; top: 96px; align-self: start;}
}
@media (max-width: 900px){
body:not(#pi-x) .grid.grid-2:has(> .fig){
grid-template-columns: 1fr;}
body:not(#pi-x) .fig.tall{
aspect-ratio: 16 / 9; max-height: 240px; margin-top: 8px;}
body:not(#pi-x) .fig.portrait{
aspect-ratio: 1040 / 1300; height: auto; max-height: none; width: 100%; max-width: 360px; margin: 10px auto 0;}
body:not(#pi-x) .grid.grid-2.img-left:has(> .fig.portrait) > .fig.portrait{
order: 2;}
}
@media (prefers-reduced-motion: reduce){
body:not(#pi-x) .to-top{
transition: none;}
}
body:not(#pi-x).a11y-contrast .img-ph::after{
display: none;}
body:not(#pi-x) .transp-card{
position: relative; overflow: hidden;
  max-width: 920px; margin-inline: auto;
  background: var(--paper-2); border: 1px solid var(--line);
  border-radius: var(--radius-lg); box-shadow: var(--shadow-2);
  padding: clamp(28px, 4.4vw, 52px) clamp(24px, 4vw, 56px);}
body:not(#pi-x) .transp-card::before{
content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 5px;
  background: linear-gradient(180deg, var(--leaf), var(--lume));}
body:not(#pi-x) .transp-card::after{
content: ""; position: absolute; right: -70px; top: -70px; width: 230px; height: 230px;
  border-radius: 50%; pointer-events: none;
  background: radial-gradient(circle, rgba(63, 157, 118, .13), transparent 70%);}
body:not(#pi-x) .transp-card > *{
position: relative;}
body:not(#pi-x) .transp-law{
display: flex; width: fit-content; align-items: center; gap: 7px;
  padding: 6px 13px; border-radius: var(--pill);
  background: var(--sand); color: var(--forest);
  font: 700 .72rem/1 var(--font); letter-spacing: .05em; text-transform: uppercase;
  margin-bottom: 18px;}
body:not(#pi-x) .transp-law::before{
content: "§"; font-size: 1rem; line-height: 0;}
body:not(#pi-x) .transp-card .eyebrow{
margin-bottom: 6px;}
body:not(#pi-x) .transp-card h2{
margin: 4px 0 14px; text-wrap: balance;}
body:not(#pi-x) .transp-card .lead{
color: var(--ink-2); max-width: 60ch; margin: 0;}
body:not(#pi-x) .transp-list{
list-style: none; margin: 26px 0 0; padding: 0;
  display: flex; flex-wrap: wrap; gap: 10px;}
body:not(#pi-x) .transp-list li{
display: inline-flex; align-items: center; gap: 9px;
  padding: 10px 17px; border-radius: var(--pill);
  background: var(--sand); color: var(--ink);
  font: 600 .86rem/1 var(--font);
  transition: transform .16s var(--ease), background .16s var(--ease), color .16s var(--ease);}
body:not(#pi-x) .transp-list li::before{
content: ""; width: 7px; height: 7px; border-radius: 50%;
  background: var(--spark); flex: 0 0 auto;}
@media (hover: hover){
body:not(#pi-x) .transp-list li:hover{
transform: translateY(-2px); background: var(--forest); color: #fff;}
body:not(#pi-x) .transp-list li:hover::before{
background: var(--lume);}
}
@media (max-width: 620px){
body:not(#pi-x) .transp-list li{
font-size: .8rem; padding: 9px 14px;}
}
body:not(#pi-x) .cursor-glow{
position: fixed; left: 0; top: 0; width: 340px; height: 340px; margin: -170px 0 0 -170px;
  border-radius: 50%; pointer-events: none; z-index: 1;
  background: radial-gradient(circle, rgba(150, 200, 120, .16), transparent 72%);
  mix-blend-mode: soft-light; opacity: 0; will-change: transform;
  transition: opacity .5s ease;}
body:not(#pi-x).glow-on .cursor-glow{
opacity: .5;}
body:not(#pi-x) .fig, body:not(#pi-x) .news-thumb, body:not(#pi-x) .news-thumb img, body:not(#pi-x) .news-card img, body:not(#pi-x) .intro-split img, body:not(#pi-x) .edital-split img, body:not(#pi-x) .card .icon, body:not(#pi-x) .logo img, body:not(#pi-x) .mnav-logo img{
position: relative; z-index: 2;}
@media (hover: hover) and (pointer: fine) and (min-width: 901px){
body:not(#pi-x) .card, body:not(#pi-x) .link-card, body:not(#pi-x) .news-card{
transform: perspective(900px) rotateX(var(--ry, 0deg)) rotateY(var(--rx, 0deg));
    transform-style: preserve-3d;
    transition: transform .45s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);}
body:not(#pi-x) .card.tilting, body:not(#pi-x) .link-card.tilting, body:not(#pi-x) .news-card.tilting{
transition: transform .09s linear, box-shadow .3s var(--ease), border-color .3s var(--ease);}
body:not(#pi-x) .card > *:not(.card-glow){
transform: translateZ(16px);}
body:not(#pi-x) .card .icon{
transform: translateZ(32px);}
body:not(#pi-x) .card:hover .icon{
transform: translateZ(32px) rotate(-6deg) scale(1.08);}
body:not(#pi-x) .tilt-grid > .card:hover .icon{
transform: translateZ(46px) rotate(-6deg) scale(1.08);}
body:not(#pi-x) .card-glow{
position: absolute; inset: 0; border-radius: inherit; pointer-events: none; z-index: 2;
    opacity: 0; transition: opacity .25s var(--ease); transform: none !important;
    background: radial-gradient(220px circle at var(--gx, 50%) var(--gy, 0%), rgba(255, 255, 255, .42), transparent 60%);
    mix-blend-mode: soft-light;}
body:not(#pi-x) section.dark .card-glow, body:not(#pi-x) .cta-banner .card-glow{
background: radial-gradient(220px circle at var(--gx, 50%) var(--gy, 0%), rgba(183, 207, 98, .32), transparent 60%);
    mix-blend-mode: screen;}
body:not(#pi-x) .card:hover .card-glow, body:not(#pi-x) .link-card:hover .card-glow, body:not(#pi-x) .news-card:hover .card-glow{
opacity: 1;}
body:not(#pi-x) .card:hover, body:not(#pi-x) .link-card:hover, body:not(#pi-x) .news-card:hover{
box-shadow: var(--shadow-2);}
body:not(#pi-x) .btn{
transition: transform .3s var(--ease), background .18s var(--ease), box-shadow .2s var(--ease);}
body:not(#pi-x) .btn-primary.magnetic, body:not(#pi-x) .btn-outline.magnetic, body:not(#pi-x) .btn-cta.magnetic{
transform: translate(var(--mgx, 0), var(--mgy, 0)) scale(1.04) !important;
    transition: transform .13s ease-out, background .18s var(--ease), box-shadow .2s var(--ease);}
body:not(#pi-x) .to-top.magnetic, body:not(#pi-x) .nav-close.magnetic{
transform: translate(var(--mgx, 0), var(--mgy, 0)) scale(1.12) !important;}
}
@media (prefers-reduced-motion: no-preference){
body:not(#pi-x) section.page-hero{
animation: heroKen 36s ease-in-out infinite alternate;}
@keyframes heroKen{
from{
background-position: 90% 0%, 0 0, center 40%;}
to{
background-position: 90% 0%, 0 0, center 60%;}
}
html.js body:not(#pi-x) .page-hero > .container{
transform: translateY(calc(var(--sp, 0) * 24px));}
html.js body:not(#pi-x) .page-hero .aurora{
opacity: calc(1 - var(--sp, 0) * .7);}
html.js body:not(#pi-x) .rv-b .reveal-auto:not(.in){
transform: translateX(-42px);}
html.js body:not(#pi-x) .rv-c .reveal-auto:not(.in){
transform: translateY(20px) scale(.93);}
}
@supports (animation-timeline: view()){
@media (prefers-reduced-motion: no-preference) and (min-width: 901px){
body:not(#pi-x) .fig, body:not(#pi-x) .news-thumb img{
animation: figPan linear both;
      animation-timeline: view(); animation-range: cover 0% cover 100%;}
@keyframes figPan{
from{
object-position: center 20%;}
to{
object-position: center 80%;}
}
}
}
@media (max-width: 900px){
body:not(#pi-x) .card, body:not(#pi-x) .link-card, body:not(#pi-x) .news-card{
transform: none !important;}
body:not(#pi-x) .card > *:not(.card-glow), body:not(#pi-x) .link-card > *:not(.card-glow), body:not(#pi-x) .card .icon{
transform: none;}
body:not(#pi-x) .cursor-glow{
display: none;}
}
@media (prefers-reduced-motion: reduce){
body:not(#pi-x) section.page-hero{
animation: none;}
body:not(#pi-x) .cursor-glow{
display: none;}
}
body:not(#pi-x).a11y-contrast .cursor-glow{
display: none;}
body:not(#pi-x).a11y-contrast section.page-hero{
animation: none;}
body:not(#pi-x) .lang-switch{
display: inline-flex; align-items: center; gap: 7px;}
body:not(#pi-x) .lang-switch button{
width: 26px; height: 18px; padding: 0; border: 1px solid rgba(255, 255, 255, .25);
  border-radius: 3px; cursor: pointer; background: transparent; overflow: hidden;
  opacity: .5; line-height: 0; outline-offset: 2px;
  transition: opacity .16s var(--ease), transform .16s var(--ease), box-shadow .16s var(--ease);}
body:not(#pi-x) .lang-switch button svg{
width: 100%; height: 100%; display: block;}
body:not(#pi-x) .lang-switch button:hover{
opacity: 1; transform: translateY(-1px);}
body:not(#pi-x) .lang-switch button.active{
opacity: 1; box-shadow: 0 0 0 2px var(--lume); border-color: transparent;}
body:not(#pi-x) .goog-te-banner-frame, body:not(#pi-x) .goog-te-balloon-frame, body:not(#pi-x) #goog-gt-tt, body:not(#pi-x) .goog-tooltip, body:not(#pi-x) .goog-tooltip:hover{
display: none !important;}
body:not(#pi-x) .goog-te-gadget{
height: 0; overflow: hidden; font-size: 0 !important; color: transparent;}
body:not(#pi-x) .goog-te-gadget .goog-te-combo{
display: none;}
body:not(#pi-x) #google_translate_element{
position: absolute !important; left: -9999px !important; top: 0; width: 1px; height: 1px; overflow: hidden;}
body:not(#pi-x){
top: 0 !important;}
body:not(#pi-x) font.goog-text-highlight{
background: none !important; box-shadow: none !important;}
body:not(#pi-x) .skiptranslate{
display: none !important;}
body:not(#pi-x) nav.main-nav .lang-switch{
display: none;}
body:not(#pi-x) .footer-lang{
display: flex; align-items: center; justify-content: center; gap: 10px;
  padding: 22px 0 4px; margin-top: 8px; border-top: 1px solid var(--line-dark);
  font: 700 .72rem/1 var(--font); text-transform: uppercase; letter-spacing: .1em;
  color: var(--on-dark-2);}
body:not(#pi-x) .footer-lang .lang-switch button{
width: 30px; height: 20px; opacity: .6;}
body:not(#pi-x) .footer-lang .lang-switch button:hover{
opacity: 1;}
@media (max-width: 680px){
body:not(#pi-x) nav.main-nav .lang-switch{
display: flex; justify-content: center; margin: 6px auto 12px; padding: 12px 0 0;
    border-top: 1px solid var(--line-dark); width: 100%;}
body:not(#pi-x) nav.main-nav .lang-switch button{
width: 36px; height: 25px; opacity: .75;}
body:not(#pi-x) nav.main-nav .lang-switch button.active{
opacity: 1;}
}
body:not(#pi-x) .sr-only{
position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;}
body:not(#pi-x) .hero .container{
max-width: var(--container); margin-inline: auto;}
body:not(#pi-x) .hero p.lead.hero-intro{
font-size: clamp(1.08rem, .96rem + .55vw, 1.34rem); line-height: 1.6;
  font-weight: 500; color: #fff; max-width: 34em; text-align: left;}
@media (min-width: 1241px){
body:not(#pi-x) .hero p.lead.hero-intro{
max-width: min(34em, 52%);}
}
body:not(#pi-x) footer .logo-white.logo-mono{
filter: none; opacity: 1; height: auto; width: min(270px, 100%);}
@media (min-width: 1101px){
body:not(#pi-x) .footer-grid{
grid-template-columns: 1fr 1fr 1.5fr .85fr;}
}
body:not(#pi-x) footer .footer-contacts li{
margin-bottom: 14px;}
body:not(#pi-x) .brand-wall{
position: relative; overflow: hidden; border-radius: var(--radius, 16px);
  aspect-ratio: 1040 / 1300; max-height: 650px; width: 100%;
  display: grid; place-items: center;
  background:
    radial-gradient(60% 45% at 50% 40%, rgba(255,255,255,.10), transparent 70%),
    radial-gradient(120% 80% at 50% -10%, rgba(183,207,98,.10), transparent 60%),
    repeating-linear-gradient(0deg, rgba(255,255,255,.018) 0 2px, transparent 2px 6px),
    linear-gradient(170deg, #1f5946 0%, #123f37 55%, #0a2e28 100%);
  box-shadow: var(--shadow-2);}
body:not(#pi-x) .brand-wall::after{
content: ""; position: absolute; inset: auto 0 0 0; height: 32%;
  background: linear-gradient(to top, rgba(4,20,17,.45), transparent);}
body:not(#pi-x) .brand-wall img{
position: relative; z-index: 1; width: 52%; height: auto;
  filter: drop-shadow(0 14px 18px rgba(0,0,0,.35)) drop-shadow(0 2px 2px rgba(0,0,0,.25));}
@media (min-width: 901px){
body:not(#pi-x) #conheca .grid.grid-2:has(> .brand-wall){
grid-template-columns: minmax(0,1fr) minmax(380px,520px);}
}
@media (max-width: 900px){
body:not(#pi-x) .brand-wall{
max-width: 360px; margin-inline: auto;}
}
body:not(#pi-x) .supplier-info{
align-items: start;}
body:not(#pi-x) .supplier-info .card > p, body:not(#pi-x) .supplier-info .card > ol{
margin-bottom: 12px;}
body:not(#pi-x) .supplier-info .btn{
margin-top: 8px;}
body:not(#pi-x) ol.alpha-list{
list-style: lower-alpha; padding-left: 1.4em;}
body:not(#pi-x) ol.alpha-list li{
margin-bottom: 4px;}
body:not(#pi-x) #politica-fornecedor .accordion-item{
margin-top: 10px;}
body:not(#pi-x) .accordion-panel p + p, body:not(#pi-x) .accordion-panel p + ul, body:not(#pi-x) .accordion-panel ul + p{
margin-top: 10px;}
body:not(#pi-x) .accordion-panel ul{
margin: 8px 0 0; padding-left: 1.2em; font-size: .92rem;}
body:not(#pi-x) .link-card.is-pending{
opacity: .75; cursor: default;}
@media (max-width: 900px){
body:not(#pi-x) .supplier-info{
grid-template-columns: 1fr;}
}
body:not(#pi-x) .portfolio-actions{
display: flex; gap: 12px; flex-wrap: wrap; margin: 20px 0 24px;}
body:not(#pi-x) .pdf-viewer{
border: 1px solid var(--line); border-radius: 16px; overflow: hidden; box-shadow: var(--shadow-1); background: #fff;}
body:not(#pi-x) .pdf-viewer iframe{
display: block; width: 100%; height: min(78vh, 720px); border: 0;}
@media (max-width: 760px){
body:not(#pi-x) .pdf-viewer{
display: none;}
}
body:not(#pi-x) .hero h1.hero-title{
font-size: clamp(1.3rem, 1rem + 1.15vw, 1.95rem); line-height: 1.32; font-weight: 600;
  letter-spacing: -.012em; color: #fff; max-width: min(27em, 100%);
  margin: 0 0 24px; text-wrap: balance;}
body:not(#pi-x) .hero-title em{
font-style: normal; color: var(--lume);}
body:not(#pi-x) .hero p.lead.hero-intro{
font-size: clamp(1rem, .94rem + .32vw, 1.16rem); line-height: 1.65; font-weight: 400;
  color: rgba(244, 246, 239, .8); max-width: 40em;
  margin-bottom: 32px;}
body:not(#pi-x) .hero-intro strong{
color: #fff; font-weight: 600;}
@media (min-width: 901px){
body:not(#pi-x) .hero p.lead.hero-intro{
max-width: min(40em, 62%);}
body:not(#pi-x) .hero h1.hero-title{
max-width: min(27em, 64%);}
}
@media (prefers-reduced-motion: no-preference){
body:not(#pi-x) .hero .hero-title{
animation: heroTxtIn .8s cubic-bezier(.2,.7,.2,1) .1s both;}
body:not(#pi-x) .hero .hero-intro{
animation: heroTxtIn .8s cubic-bezier(.2,.7,.2,1) .28s both;}
}
@keyframes heroTxtIn{
from{
opacity: 0; transform: translateY(18px);}
to{
opacity: 1; transform: none;}
}
body:not(#pi-x) .hp-field{
position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden;}
@media (hover: hover) and (pointer: fine) and (min-width: 1561px){
body:not(#pi-x) nav.main-nav > ul > li{
position: relative;}
body:not(#pi-x) nav.main-nav > ul > li > .dropdown::before{
content: ""; position: absolute; left: 0; right: 0; top: -14px; height: 14px;}
body:not(#pi-x) nav.main-nav > ul > li > .dropdown{
transition: opacity .18s var(--ease) .12s, transform .18s var(--ease) .12s, visibility 0s .3s, pointer-events 0s .3s;}
body:not(#pi-x) nav.main-nav > ul > li:hover > .dropdown, body:not(#pi-x) nav.main-nav > ul > li:focus-within > .dropdown, body:not(#pi-x) nav.main-nav > ul > li.open > .dropdown{
opacity: 1; visibility: visible; pointer-events: auto; transform: none;
    transition: opacity .18s var(--ease), transform .18s var(--ease), visibility 0s, pointer-events 0s;}
body:not(#pi-x) nav.main-nav > ul > li:hover > button.nav-toggle .caret, body:not(#pi-x) nav.main-nav > ul > li:focus-within > button.nav-toggle .caret{
transform: rotate(180deg);}
}
body:not(#pi-x):is(.page-home, .home) .hero-title em{
color: inherit;}
body:not(#pi-x):is(.page-home, .home) .hero-eyebrow{
color: rgba(244, 246, 239, .86);}
body:not(#pi-x):is(.page-home, .home) .eyebrow{
color: var(--ink-2);}
body:not(#pi-x):is(.page-home, .home) section.dark .eyebrow{
color: var(--on-dark);}
body:not(#pi-x):is(.page-home, .home) section.dark .eyebrow::before, body:not(#pi-x):is(.page-home, .home) .eyebrow::before{
background: var(--spark);}
body:not(#pi-x):is(.page-home, .home) section.dark .card-link{
color: #fff;}
body:not(#pi-x):is(.page-home, .home) .hero h1.hero-title{
font-size: clamp(1.55rem, 1.2rem + 1.3vw, 2.25rem);}
body:not(#pi-x):is(.page-home, .home) main h2{
font-size: clamp(1.4rem, 1.18rem + .9vw, 1.85rem);}
body:not(#pi-x):is(.page-home, .home) main h3{
font-size: 1.08rem;}
body:not(#pi-x):is(.page-home, .home) main p, body:not(#pi-x):is(.page-home, .home) main li{
font-size: 1rem; line-height: 1.65;}
body:not(#pi-x):is(.page-home, .home) .hero p.lead.hero-intro{
font-size: 1.05rem;}
body:not(#pi-x):is(.page-home, .home) main p, body:not(#pi-x):is(.page-home, .home) main li{
text-align: justify; hyphens: auto; -webkit-hyphens: auto;}
body:not(#pi-x):is(.page-home, .home) main .text-center p, body:not(#pi-x):is(.page-home, .home) main .text-center{
text-align: center;}
body:not(#pi-x) .estrutura-adm p, body:not(#pi-x) .estrutura-adm li{
font-size: 1.04rem; line-height: 1.7;}
body:not(#pi-x) .estrutura-adm .card h3, body:not(#pi-x) .estrutura-adm h3{
font-size: 1.22rem;}
body:not(#pi-x) .estrutura-adm .small{
font-size: .98rem;}
body:not(#pi-x) .submeter-tit{
font-size: 1.05rem; margin: 22px 0 6px;}
body:not(#pi-x) .submeter-acoes{
margin-top: 24px; display: flex; flex-wrap: wrap; gap: 12px;}
body:not(#pi-x) .fale-balao{
position: fixed; left: 20px; bottom: 20px; z-index: 60; display: inline-flex; align-items: center; gap: 10px;
  background: #25d366; color: #fff; font-weight: 700; font-size: .85rem; letter-spacing: .04em; padding: 13px 20px 13px 16px;
  border-radius: var(--pill); box-shadow: 0 10px 28px -8px rgba(0, 0, 0, .35); transition: transform .2s var(--ease), box-shadow .2s var(--ease);}
body:not(#pi-x) .fale-balao:hover{
transform: translateY(-3px); box-shadow: 0 14px 32px -8px rgba(0, 0, 0, .4); color: #fff;}
@media (max-width: 600px){
body:not(#pi-x) .fale-balao span{
display: none;}
body:not(#pi-x) .fale-balao{
padding: 14px;}
}
