/* ============================================================
   OPCO — Creating Solutions
   Versão clara: fundo branco, tipografia grande, grelhas finas,
   vermelho OPCO como acento. OPCO Network em branco e laranja.
   ============================================================ */

@font-face{font-family:"Inter";font-weight:400;font-style:normal;font-display:swap;src:url("../fonts/inter-regular.woff") format("woff")}
@font-face{font-family:"Inter";font-weight:500 600;font-style:normal;font-display:swap;src:url("../fonts/inter-medium.woff") format("woff")}
@font-face{font-family:"Inter Display";font-weight:500 600;font-style:normal;font-display:swap;src:url("../fonts/inter-medium.woff") format("woff")}

/* ---------- Tokens ---------- */
:root{
  --bg:#ffffff;
  --bg-2:#f5f5f3;
  --bg-3:#ecece8;
  --fg:#141518;
  --fg-2:#3e434a;
  --muted:#5f656d;
  --muted-2:#8a9098;
  --line:rgba(20,21,24,.13);
  --line-soft:rgba(20,21,24,.07);

  --red:#b3141c;
  --red-deep:#8e1016;
  --red-50:#fbefef;

  /* OPCO Network: branco e laranja */
  --or:#e8590c;
  --or-ink:#b4470a;
  --or-50:#fff6ef;
  --or-100:#fde8d8;
  --or-line:rgba(232,89,12,.3);

  --accent:var(--red);
  --accent-ink:var(--red);
  --accent-50:var(--red-50);

  --ff-display:"Inter","Helvetica Neue",Helvetica,Arial,sans-serif;
  --ff-body:"Inter","Helvetica Neue",Helvetica,Arial,sans-serif;
  --ff-mono:ui-monospace,"SFMono-Regular","Cascadia Mono","Roboto Mono",Menlo,Consolas,monospace;

  --pad:clamp(18px,4vw,64px);
  --maxw:1600px;
  --head:clamp(64px,6vw,82px);
  --ease:cubic-bezier(.22,.61,.16,1);
}
.or,.net{--accent:var(--or);--accent-ink:var(--or-ink);--accent-50:var(--or-50)}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--head) + 12px)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;background:var(--bg);color:var(--fg);
  font-family:var(--ff-body);font-size:16px;line-height:1.6;
  font-weight:400;letter-spacing:-.006em;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
body.no-scroll{overflow:hidden}
img,svg,video,canvas{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
h1,h2,h3,h4,p,ul,ol,figure,blockquote{margin:0}
ul,ol{padding:0;list-style:none}
::selection{background:var(--accent);color:#fff}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
[hidden]{display:none!important}
.skip{position:absolute;left:12px;top:-60px;z-index:80;background:var(--fg);color:#fff;padding:10px 14px;font-size:14px}
.skip:focus{top:12px}

/* ---------- Layout ---------- */
.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--pad)}
.narrow{max-width:900px}
.sec{position:relative;padding-block:clamp(72px,8.5vw,140px)}
.sec--tight{padding-block:clamp(44px,5vw,76px)}
.sec--paper,.sec--ink2{background:var(--bg-2)}
.hr{height:1px;background:var(--line);border:0;width:100%}

/* ---------- Type ---------- */
.display{
  font-family:var(--ff-display);font-weight:500;text-transform:uppercase;
  letter-spacing:-.035em;line-height:.93;font-size:clamp(40px,7vw,112px);
}
.display em,.h2 em,.h3 em,.phero h1 em{font-style:normal;color:var(--accent)}
.h2{
  font-family:var(--ff-display);font-weight:500;text-transform:uppercase;
  letter-spacing:-.03em;line-height:.97;font-size:clamp(30px,4vw,64px);
}
.h3{font-family:var(--ff-display);font-weight:500;letter-spacing:-.02em;line-height:1.08;font-size:clamp(21px,2vw,32px)}
.h4{font-family:var(--ff-display);font-weight:500;letter-spacing:-.01em;font-size:clamp(17px,1.3vw,21px);line-height:1.25}
.mono{
  font-family:var(--ff-mono);font-size:11px;font-weight:400;text-transform:uppercase;
  letter-spacing:.14em;color:var(--muted);
}
.mono--red{color:var(--accent-ink)}
.lede{font-size:clamp(16px,1.2vw,19px);line-height:1.62;color:var(--fg-2);max-width:58ch;letter-spacing:-.01em}
.small{font-size:14px;line-height:1.6;color:var(--muted)}
.txt-red{color:var(--accent)}
.prose{max-width:72ch;color:var(--fg-2)}
.prose p,.prose ul,.prose ol{margin-bottom:1em}
.prose h2{font-family:var(--ff-display);font-weight:500;font-size:clamp(20px,1.8vw,26px);letter-spacing:-.015em;margin:1.8em 0 .6em;color:var(--fg)}
.prose h3{font-weight:600;font-size:17px;margin:1.4em 0 .4em;color:var(--fg)}
.prose ul{list-style:disc;padding-left:1.2em}
.prose ol{list-style:decimal;padding-left:1.4em}
.prose li{margin-bottom:.35em}
.prose a{color:var(--accent-ink);text-decoration:underline;text-underline-offset:3px}
mark.tbc{background:#ffe58a;color:#3a2a00;padding:2px 6px;font-family:var(--ff-mono);font-size:.8em;letter-spacing:.04em}

/* ---------- Section headers ---------- */
.sec-head{
  display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr);
  gap:clamp(20px,4vw,72px);align-items:end;
  padding-bottom:clamp(24px,3vw,44px);border-bottom:1px solid var(--line);
  margin-bottom:clamp(28px,4vw,60px);
}
.sec-head__idx{
  font-family:var(--ff-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--accent-ink);margin-bottom:18px;display:flex;gap:14px;align-items:center;
}
.sec-head__idx::after{content:"";height:1px;width:clamp(28px,5vw,80px);background:currentColor;opacity:.45}
.sec-head__right{display:flex;flex-direction:column;gap:16px;justify-self:end;max-width:52ch}

/* ---------- Buttons / links ---------- */
.btn{
  --bg:transparent;--bd:rgba(20,21,24,.28);
  display:inline-flex;align-items:center;justify-content:center;gap:14px;position:relative;
  padding:15px 24px;border:1px solid var(--bd);color:var(--fg);background:var(--bg);
  font-family:var(--ff-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease);
  white-space:nowrap;min-height:46px;
}
.btn:hover{--bd:var(--fg);background:var(--fg);color:#fff}
.btn--solid{--bg:var(--accent);--bd:var(--accent);--fg:#fff}
.btn--solid:hover{background:var(--fg);--bd:var(--fg);color:#fff}
.btn--paper{--bd:rgba(20,21,24,.28)}
.btn--sm{padding:10px 16px;min-height:38px;font-size:10.5px}
.btn__arrow{transition:transform .3s var(--ease)}
.btn:hover .btn__arrow{transform:translateX(4px)}
.link-u{
  font-family:var(--ff-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  padding-bottom:5px;border-bottom:1px solid rgba(20,21,24,.3);transition:.3s var(--ease);
  display:inline-flex;gap:10px;align-items:center;width:max-content;max-width:100%;
}
.link-u:hover{border-color:var(--accent);color:var(--accent-ink)}

/* ---------- Header ---------- */
.head{
  position:fixed;inset:0 0 auto 0;z-index:50;background:rgba(255,255,255,.86);
  -webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);
  border-bottom:1px solid var(--line-soft);transition:border-color .4s,box-shadow .4s;
}
.head.is-stuck{border-bottom-color:var(--line);box-shadow:0 6px 24px -18px rgba(20,21,24,.35)}
.head__in{display:flex;align-items:center;justify-content:space-between;gap:24px;height:var(--head)}
.brand{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.brand img{height:clamp(34px,3vw,44px);width:auto}
.nav{display:flex;align-items:center;gap:clamp(12px,1.7vw,30px)}
.nav a{
  font-family:var(--ff-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--fg-2);position:relative;padding-block:6px;transition:color .3s;
}
.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--accent);transition:right .35s var(--ease)}
.nav a:hover,.nav a[aria-current="page"]{color:var(--fg)}
.nav a:hover::after,.nav a[aria-current="page"]::after{right:0}
.nav a.nav--or{color:var(--or-ink);font-weight:600;display:inline-flex;align-items:center;gap:8px}
.nav a.nav--or::after{background:var(--or)}
.nav a.nav--or i{width:7px;height:7px;border-radius:50%;background:var(--or);display:block;box-shadow:0 0 0 3px rgba(232,89,12,.16)}
.nav a.nav--or:hover{color:var(--or)}
.head__cta{display:flex;align-items:center;gap:12px}
.head__cta .btn{padding:12px 18px;min-height:40px}
.burger{display:none;width:44px;height:44px;position:relative;border:1px solid var(--line)}
.burger span{position:absolute;left:12px;right:12px;height:1.5px;background:var(--fg);transition:.3s var(--ease)}
.burger span:nth-child(1){top:17px}
.burger span:nth-child(2){top:25px}
body.menu-open .burger span:nth-child(1){top:21px;transform:rotate(45deg)}
body.menu-open .burger span:nth-child(2){top:21px;transform:rotate(-45deg)}

.drawer{
  position:fixed;inset:0;z-index:45;background:var(--bg);
  padding:calc(var(--head) + 24px) var(--pad) 32px;overflow-y:auto;
  display:flex;flex-direction:column;justify-content:space-between;gap:28px;
  clip-path:inset(0 0 100% 0);visibility:hidden;transition:clip-path .55s var(--ease),visibility 0s .55s;
}
body.menu-open .drawer{clip-path:inset(0 0 0 0);visibility:visible;transition:clip-path .55s var(--ease)}
.drawer nav{display:flex;flex-direction:column}
.drawer nav a{
  font-family:var(--ff-display);font-weight:500;text-transform:uppercase;letter-spacing:-.025em;
  font-size:clamp(26px,7vw,46px);line-height:1.15;display:flex;align-items:baseline;gap:16px;
  padding-block:8px;border-bottom:1px solid var(--line-soft);
}
.drawer nav a i{font-family:var(--ff-mono);font-size:10px;font-style:normal;letter-spacing:.14em;color:var(--red)}
.drawer nav a.nav--or i{color:var(--or)}
.drawer nav a.nav--or{color:var(--or-ink)}
.drawer__foot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.drawer__foot a{display:block;margin-bottom:6px}

.progress{position:fixed;top:0;left:0;height:2px;background:var(--accent);z-index:55;width:0}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:min(100svh,980px);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;background:var(--bg)}
.hero__canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.hero__grid{
  position:absolute;inset:0;z-index:1;pointer-events:none;
  background-image:linear-gradient(90deg,var(--line-soft) 1px,transparent 1px);
  background-size:calc(100% / 6) 100%;
  -webkit-mask-image:linear-gradient(180deg,#000,rgba(0,0,0,.3) 70%,transparent);mask-image:linear-gradient(180deg,#000,rgba(0,0,0,.3) 70%,transparent);
}
.hero__veil{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(90% 70% at 85% 105%,rgba(232,89,12,.12),transparent 60%),radial-gradient(60% 60% at 0% 0%,rgba(179,20,28,.05),transparent 70%)}
.hero__in{position:relative;z-index:2;padding-top:calc(var(--head) + clamp(40px,9vh,110px));padding-bottom:clamp(28px,4vw,52px);width:100%}
.hero__top{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:clamp(26px,5vh,64px)}
.hero__kicker{display:flex;align-items:center;gap:12px;border:1px solid var(--or-line);background:var(--or-50);padding:7px 14px;border-radius:999px}
.hero__kicker .mono{color:var(--or-ink)}
.pulse{width:7px;height:7px;border-radius:50%;background:var(--or);box-shadow:0 0 0 0 rgba(232,89,12,.5);animation:pulse 2.4s infinite;flex:none}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(232,89,12,.5)}70%{box-shadow:0 0 0 11px rgba(232,89,12,0)}100%{box-shadow:0 0 0 0 rgba(232,89,12,0)}}
.hero h1{max-width:15ch}
.hero__foot{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(20px,4vw,60px);
  align-items:end;margin-top:clamp(24px,4vw,44px);padding-top:clamp(18px,2vw,28px);
  border-top:1px solid var(--line);
}
.hero__stats{display:flex;gap:clamp(20px,3.4vw,56px);flex-wrap:wrap}
.hero__stat b{display:block;font-family:var(--ff-display);font-weight:500;font-size:clamp(24px,2.4vw,36px);letter-spacing:-.02em;line-height:1;margin-bottom:6px}
.hero__scroll{display:flex;align-items:center;gap:12px;font-family:var(--ff-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.hero__scroll i{display:block;width:1px;height:36px;background:linear-gradient(180deg,var(--accent),transparent);animation:drop 2s infinite}
@keyframes drop{0%{transform:scaleY(.2);transform-origin:top;opacity:0}40%{opacity:1}100%{transform:scaleY(1);transform-origin:top;opacity:0}}
.hero__meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;margin-top:22px}
.hero__meta img{height:30px;width:auto}

/* ---------- Marquee ---------- */
.marquee{overflow:hidden;border-block:1px solid var(--line);padding-block:14px;background:var(--bg-2)}
.marquee__track{display:flex;width:max-content;animation:slide 46s linear infinite}
.marquee:hover .marquee__track{animation-play-state:paused}
.marquee__item{
  font-family:var(--ff-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--fg-2);padding-inline:clamp(18px,2.6vw,40px);display:flex;align-items:center;gap:clamp(18px,2.6vw,40px);white-space:nowrap;
}
.marquee__item::after{content:"";width:4px;height:4px;background:var(--accent);display:block;transform:rotate(45deg)}
@keyframes slide{to{transform:translateX(-50%)}}

/* ---------- Reveal ---------- */
.js [data-reveal]{opacity:0;transform:translateY(12px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.js [data-reveal].is-in{opacity:1;transform:none}
[data-reveal-delay="1"]{transition-delay:.04s!important}
[data-reveal-delay="2"]{transition-delay:.08s!important}
[data-reveal-delay="3"]{transition-delay:.12s!important}
.line-reveal{display:block;overflow:hidden;padding-bottom:.04em}
.js .line-reveal>span{display:block;transform:translateY(105%);transition:transform .65s var(--ease)}
.js .line-reveal.is-in>span{transform:none}
.line-reveal:nth-child(2)>span{transition-delay:.05s}
.line-reveal:nth-child(3)>span{transition-delay:.1s}
@media (prefers-reduced-motion:reduce){
  .js [data-reveal]{opacity:1!important;transform:none!important}
  .js .line-reveal>span{transform:none!important}
  .marquee__track,.pulse,.hero__scroll i,.node-ring,.route{animation:none!important}
}

/* ---------- Cards ---------- */
.card{
  position:relative;border:1px solid var(--line);padding:clamp(20px,2.2vw,34px);background:var(--bg);
  transition:border-color .35s var(--ease),transform .45s var(--ease),box-shadow .35s;
}
a.card:hover,.card--hover:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 18px 40px -28px rgba(20,21,24,.35)}
.corner::before,.corner::after{content:"";position:absolute;width:9px;height:9px;border:1px solid var(--accent);opacity:0;transition:opacity .35s}
.corner::before{top:-1px;left:-1px;border-right:0;border-bottom:0}
.corner::after{bottom:-1px;right:-1px;border-left:0;border-top:0}
.card:hover.corner::before,.card:hover.corner::after{opacity:1}

/* ---------- Stats ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.stats--3{grid-template-columns:repeat(3,1fr)}
.stats__item{padding:clamp(22px,2.6vw,40px) clamp(14px,1.6vw,28px);border-right:1px solid var(--line)}
.stats__item:last-child{border-right:0}
.stats__num{font-family:var(--ff-display);font-weight:500;letter-spacing:-.04em;font-size:clamp(38px,5vw,80px);line-height:.92;display:flex;align-items:flex-start;gap:2px}
.stats__num sup{font-size:.34em;color:var(--accent);position:relative;line-height:1;transform:translateY(.5em)}
.stats__label{margin-top:14px}

/* ---------- Sector list ---------- */
.sectors{display:flex;flex-direction:column}
.sector{
  position:relative;display:grid;grid-template-columns:80px minmax(0,1.1fr) minmax(0,1fr) 44px;
  gap:clamp(14px,2.4vw,40px);align-items:center;
  padding-block:clamp(20px,2.4vw,34px);border-bottom:1px solid var(--line);
  transition:padding-inline .45s var(--ease),background .45s;
}
.sector:first-child{border-top:1px solid var(--line)}
.sector__num{font-family:var(--ff-mono);font-size:11px;letter-spacing:.14em;color:var(--muted-2)}
.sector__name{
  font-family:var(--ff-display);font-weight:500;text-transform:uppercase;letter-spacing:-.03em;
  font-size:clamp(26px,3.4vw,52px);line-height:1;transition:color .35s,transform .45s var(--ease);
  display:flex;align-items:center;gap:18px;
}
.sector__tags{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.tag{font-family:var(--ff-mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line);padding:5px 8px;color:var(--fg-2);white-space:nowrap;background:var(--bg)}
.tag--or{border-color:var(--or-line);color:var(--or-ink);background:var(--or-50)}
.tag--red{border-color:rgba(179,20,28,.3);color:var(--red);background:var(--red-50)}
.sector__arrow{justify-self:end;color:var(--muted);transition:.35s var(--ease)}
.sector:hover{background:var(--bg-2);padding-inline:clamp(6px,1.4vw,24px)}
.sector:hover .sector__name{color:var(--accent);transform:translateX(4px)}
.sector:hover .sector__arrow{color:var(--accent);transform:translate(4px,-4px)}
.sector__glyph{width:34px;height:34px;flex:0 0 auto;color:var(--accent)}
.sector__glyph *{stroke:currentColor;fill:none;stroke-width:1.2}

/* ---------- OPCO Network (branco + laranja) ---------- */
.net{position:relative;background:linear-gradient(180deg,#fff,var(--or-50));overflow:hidden;border-block:1px solid var(--or-line)}
.net__grid{position:absolute;inset:0;background-image:radial-gradient(rgba(232,89,12,.22) 1px,transparent 1.2px);background-size:22px 22px;-webkit-mask-image:radial-gradient(70% 80% at 80% 50%,#000,transparent);mask-image:radial-gradient(70% 80% at 80% 50%,#000,transparent)}
.net__in{position:relative;display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(30px,5vw,90px);align-items:center;padding-block:clamp(72px,8.5vw,130px)}
.net .h2 em{color:var(--or)}
.net__map{position:relative}
.net__map svg{width:100%;height:auto;overflow:visible}
.net__label{font-family:var(--ff-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;fill:var(--fg);paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}
.node-dot{fill:var(--or)}
.node-ring{fill:none;stroke:var(--or);stroke-width:1;opacity:.6;transform-box:fill-box;transform-origin:center;animation:ring 3.2s ease-out infinite}
@keyframes ring{0%{transform:scale(1);opacity:.9}100%{transform:scale(8);opacity:0}}
.route{fill:none;stroke:var(--or);stroke-width:1.5;stroke-dasharray:5 6;animation:dash 3s linear infinite}
@keyframes dash{to{stroke-dashoffset:-55}}
.land{stroke:rgba(20,21,24,.3);stroke-width:.8}
.land--ma{stroke:var(--or)}
.net__cities{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--or-line);margin-top:28px}
.net__city{padding:18px 14px 0 0;border-right:1px solid var(--or-line);margin-right:14px}
.net__city:last-child{border-right:0}
.net__city b{display:block;font-family:var(--ff-display);font-weight:500;font-size:clamp(22px,2vw,30px);letter-spacing:-.02em;margin-bottom:4px}
.net__city .mono{display:block;font-size:9.5px;letter-spacing:.1em}
.or-panel{background:var(--or-50);border:1px solid var(--or-line)}
.or-band{background:linear-gradient(180deg,var(--or-50),#fff)}

/* ---------- Service list ---------- */
.svc{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.svc--3{grid-template-columns:repeat(3,1fr)}
.svc__item{background:var(--bg);padding:clamp(22px,2.6vw,40px);display:flex;flex-direction:column;gap:14px;min-height:220px;transition:background .35s}
a.svc__item:hover{background:var(--bg-2)}
a.svc__item:hover .h3{color:var(--accent)}
.svc__head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.svc__num{font-family:var(--ff-mono);font-size:10px;letter-spacing:.14em;color:var(--muted-2)}
.svc__list{display:flex;flex-direction:column;gap:6px;margin-top:auto}
.svc__list li{font-size:14px;color:var(--fg-2);display:flex;gap:10px;align-items:flex-start}
.svc__list li::before{content:"";width:6px;height:1px;background:var(--accent);margin-top:11px;flex:0 0 auto}

/* ---------- Training list ---------- */
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:clamp(20px,2.4vw,32px)}
.chip{font-family:var(--ff-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--line);padding:9px 14px;color:var(--fg-2);background:var(--bg);transition:.25s var(--ease);min-height:38px}
.chip:hover{border-color:var(--fg);color:var(--fg)}
.chip[aria-pressed="true"]{background:var(--fg);border-color:var(--fg);color:#fff}
.searchbar{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--fg);padding-bottom:12px;margin-bottom:22px}
.searchbar input{flex:1;min-width:0;background:none;border:0;color:var(--fg);font-family:var(--ff-body);font-size:clamp(16px,1.3vw,19px);padding:6px 0;outline:none}
.searchbar input::placeholder{color:var(--muted-2)}
.searchbar svg{flex:0 0 auto;opacity:.6}
.t-list{border-top:1px solid var(--line)}
.t-row{
  display:grid;grid-template-columns:110px minmax(0,1.6fr) 150px 120px 96px;
  gap:clamp(10px,1.6vw,28px);align-items:center;
  padding-block:18px;border-bottom:1px solid var(--line);position:relative;transition:background .3s,padding .3s var(--ease);
}
.t-row:hover{background:var(--bg-2);padding-inline:12px}
.t-row__code{font-family:var(--ff-mono);font-size:11px;letter-spacing:.06em;color:var(--accent-ink);font-weight:500}
.t-row__title{font-family:var(--ff-display);font-weight:500;font-size:clamp(15px,1.2vw,18px);letter-spacing:-.01em;line-height:1.3}
.t-row__meta{font-family:var(--ff-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.t-row__cta{justify-self:end;color:var(--accent-ink);transition:transform .3s var(--ease)}
.t-row:hover .t-row__cta{transform:translateX(4px)}
.t-empty{padding:40px 0;color:var(--muted)}

/* ---------- Calendar ---------- */
.cal{display:flex;flex-direction:column;gap:clamp(26px,3vw,44px)}
.cal__month{display:grid;grid-template-columns:170px minmax(0,1fr);gap:clamp(16px,3vw,48px);align-items:start}
.cal__monthname{position:sticky;top:calc(var(--head) + 20px)}
.cal__monthname b{display:block;font-family:var(--ff-display);font-weight:500;text-transform:uppercase;font-size:clamp(20px,2vw,30px);letter-spacing:-.02em;line-height:1;margin-bottom:6px}
.cal__sessions{border-top:1px solid var(--line)}
.cal-row{
  display:grid;grid-template-columns:110px minmax(0,1.5fr) 110px 150px;
  gap:clamp(10px,1.6vw,26px);align-items:center;padding-block:16px;border-bottom:1px solid var(--line);transition:background .3s;
}
.cal-row:hover{background:var(--bg-2)}
.cal-row__date{font-family:var(--ff-mono);font-size:12px;letter-spacing:.04em;color:var(--fg);font-weight:500}
.cal-row__date i{font-style:normal;color:var(--muted);display:block;font-size:9.5px;letter-spacing:.12em;font-weight:400;text-transform:uppercase}
.seats{font-family:var(--ff-mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;display:flex;align-items:center;gap:7px;color:var(--fg-2);justify-self:end;text-align:right}
.seats i{width:6px;height:6px;border-radius:50%;background:#1f9d5b;display:block;flex:none}
.seats.past{color:var(--muted-2)}
.seats.past i{background:#b9bdc2}
.cal-empty{border:1px solid var(--line);background:var(--bg);padding:clamp(22px,2.6vw,36px);display:flex;justify-content:space-between;gap:20px;align-items:center;flex-wrap:wrap}
.cal-past{margin-top:clamp(28px,3vw,44px)}
.cal-past summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:12px;padding-block:14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cal-past summary::-webkit-details-marker{display:none}
.cal-past summary::before{content:"+";font-family:var(--ff-mono);color:var(--accent);width:14px}
.cal-past[open] summary::before{content:"–"}
.cal-past .cal{margin-top:24px;opacity:.85}

/* ---------- Quote / testimonials ---------- */
.quote{border-left:2px solid var(--accent);padding-left:clamp(20px,3vw,44px);max-width:62ch}
.quote p{font-family:var(--ff-display);font-weight:400;font-size:clamp(20px,2.2vw,32px);line-height:1.3;letter-spacing:-.02em}
.quote footer{margin-top:22px}
.tst{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end}
.tst__track{position:relative;min-height:200px}
.tst__item{position:absolute;inset:0 0 auto 0;opacity:0;visibility:hidden;transition:opacity .5s var(--ease),visibility 0s .5s}
.tst__item.is-on{position:relative;opacity:1;visibility:visible;transition:opacity .5s var(--ease)}
.tst__nav{display:flex;gap:8px;align-items:center}
.tst__nav button{width:46px;height:46px;border:1px solid var(--line);display:grid;place-items:center;transition:.25s}
.tst__nav button:hover{border-color:var(--fg);background:var(--fg);color:#fff}

/* ---------- Timeline ---------- */
.tl{position:relative;margin-top:10px}
.tl::before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:1px;background:var(--line)}
.tl__item{position:relative;padding:0 0 clamp(18px,2.2vw,30px) clamp(26px,3vw,54px);display:grid;grid-template-columns:90px minmax(0,1fr);gap:clamp(10px,2vw,30px)}
.tl__item::before{content:"";position:absolute;left:-3px;top:8px;width:7px;height:7px;background:var(--bg);border:1px solid var(--accent);border-radius:50%}
.tl__year{font-family:var(--ff-mono);font-size:12px;letter-spacing:.1em;color:var(--accent-ink);font-weight:500}

/* ---------- Team ---------- */
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.team__m{background:var(--bg);display:flex;flex-direction:column;transition:background .3s}
.team__m img{width:100%;aspect-ratio:1/1;object-fit:cover;filter:grayscale(1) contrast(1.02);transition:filter .5s var(--ease)}
.team__m:hover img{filter:none}
.team__m div{padding:clamp(14px,1.6vw,22px)}
.team__m b{display:block;font-family:var(--ff-display);font-weight:500;font-size:clamp(16px,1.25vw,19px);letter-spacing:-.01em;margin-bottom:4px}

/* ---------- Logos ---------- */
.logos{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.logos li{background:var(--bg);display:grid;place-items:center;padding:clamp(18px,2vw,30px) clamp(14px,1.6vw,26px);min-height:clamp(84px,8vw,116px)}
.logos img{width:auto;height:auto;max-height:40px;max-width:min(150px,100%);object-fit:contain;filter:grayscale(1);opacity:.72;transition:filter .35s,opacity .35s}
.logos li:hover img{filter:none;opacity:1}
.logos--big{grid-template-columns:repeat(5,1fr)}
.logos--big img{max-height:56px;max-width:170px}
.logos--big li{min-height:140px;flex-direction:column}
.logos__cap{font-family:var(--ff-mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-align:center;margin-top:12px;line-height:1.5}
.logos--certs{grid-template-columns:repeat(2,minmax(0,280px))}
.logos--certs img{max-height:70px;max-width:200px;filter:none;opacity:1}

/* ---------- Posts ---------- */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,28px)}
.post{display:flex;flex-direction:column;border:1px solid var(--line);background:var(--bg);transition:border-color .3s,transform .45s var(--ease)}
.post:hover{border-color:var(--accent);transform:translateY(-3px)}
.post__img{aspect-ratio:16/10;overflow:hidden;background:var(--bg-3)}
.post__img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.post:hover .post__img img{transform:scale(1.04)}
.post__img--none{display:grid;place-items:center;color:var(--muted-2)}
.post__img--none img{width:42%;height:auto;object-fit:contain;opacity:.25}
.post__body{padding:clamp(16px,1.6vw,24px);display:flex;flex-direction:column;gap:10px;flex:1}
.post__body .h4{flex:1}

/* ---------- Article / detail ---------- */
.detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,380px);gap:clamp(28px,5vw,90px);align-items:start}
.detail__aside{position:sticky;top:calc(var(--head) + 24px);display:flex;flex-direction:column;gap:16px}
.kv{display:flex;justify-content:space-between;gap:16px;padding-block:12px;border-bottom:1px solid var(--line);font-size:14px}
.kv span{color:var(--muted)}
.kv b{font-weight:500;color:var(--fg);text-align:right}
.code-big{font-family:var(--ff-display);font-weight:500;font-size:clamp(56px,9vw,150px);letter-spacing:-.045em;line-height:.85;color:var(--accent)}
.rel{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.rel a{background:var(--bg);padding:18px 20px;display:flex;flex-direction:column;gap:6px;transition:background .3s}
.rel a:hover{background:var(--bg-2)}
.rel b{font-family:var(--ff-mono);font-size:11px;letter-spacing:.06em;color:var(--accent-ink);font-weight:500}
.rel span{font-size:14px;line-height:1.4}
.pager{display:grid;grid-template-columns:1fr 1fr;gap:16px;border-top:1px solid var(--line);padding-top:24px;margin-top:clamp(36px,4vw,60px)}
.pager a{display:flex;flex-direction:column;gap:6px}
.pager a:last-child{text-align:right}
.pager b{font-weight:500}
.crumbs{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:clamp(20px,3vw,40px)}
.crumbs li{display:flex;gap:10px;align-items:center}
.crumbs li+li::before{content:"/";opacity:.4;font-family:var(--ff-mono);font-size:11px}
.crumbs a:hover{color:var(--accent-ink)}

/* ---------- Books ---------- */
.books{display:grid;grid-template-columns:repeat(2,1fr);gap:0 clamp(20px,3vw,48px);border-top:1px solid var(--line)}
.book{display:flex;justify-content:space-between;gap:16px;align-items:center;padding-block:14px;border-bottom:1px solid var(--line);font-size:14.5px}
.book a{flex:none}

/* ---------- Forms ---------- */
.form{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.field{display:flex;flex-direction:column;gap:8px;min-width:0}
.field--full{grid-column:1/-1}
.field label,.field legend{font-family:var(--ff-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.field input,.field select,.field textarea{
  background:var(--bg);border:1px solid rgba(20,21,24,.22);color:var(--fg);
  padding:13px 14px;font-family:var(--ff-body);font-size:16px;outline:none;width:100%;
  transition:border-color .25s,box-shadow .25s;border-radius:0;
}
.field textarea{min-height:140px;resize:vertical}
.field select{appearance:none;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,#5f656d 50%),linear-gradient(135deg,#5f656d 50%,transparent 50%);background-position:calc(100% - 20px) 21px,calc(100% - 14px) 21px;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:40px}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-50)}
.field.is-bad input,.field.is-bad select,.field.is-bad textarea{border-color:var(--red)}
.field .err{display:none;font-size:12.5px;color:var(--red)}
.field.is-bad .err{display:block}
.check{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:var(--fg-2);grid-column:1/-1}
.check input{width:18px;height:18px;margin-top:2px;accent-color:var(--accent);flex:none}
.check a{text-decoration:underline;text-underline-offset:3px}
.radios{display:flex;gap:18px;flex-wrap:wrap;border:0;padding:0;margin:0}
.radios label{display:flex;gap:8px;align-items:center;text-transform:none;letter-spacing:0;font-family:var(--ff-body);font-size:15px;color:var(--fg)}
.form__note{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.form__status{grid-column:1/-1;font-size:14.5px;padding:0}
.form__status.ok{border:1px solid rgba(31,157,91,.45);background:rgba(31,157,91,.07);padding:14px 16px}
.form__status.bad{border:1px solid rgba(179,20,28,.4);background:var(--red-50);padding:14px 16px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ---------- Footer ---------- */
.foot{background:var(--bg-2);border-top:1px solid var(--line);padding-top:clamp(44px,5vw,80px)}
.foot__grid{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(4,minmax(0,.7fr));gap:clamp(24px,3.4vw,56px);padding-bottom:clamp(32px,4vw,56px)}
.foot__col h4{font-family:var(--ff-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2);margin-bottom:16px;font-weight:400}
.foot__col a,.foot__col p{display:block;font-size:14px;color:var(--fg-2);margin-bottom:9px;transition:color .25s}
.foot__col a:hover{color:var(--accent-ink)}
.foot__col small{display:block;font-size:11.5px;color:var(--muted);margin-top:-6px;margin-bottom:9px}
.foot__social{display:flex;gap:8px;margin-top:18px}
.foot__social a{width:40px;height:40px;border:1px solid var(--line);display:grid;place-items:center;margin:0;color:var(--fg)}
.foot__social a:hover{background:var(--fg);color:#fff;border-color:var(--fg)}
.foot__social svg{width:17px;height:17px}
.foot__bottom{display:flex;justify-content:space-between;align-items:center;gap:16px 24px;flex-wrap:wrap;padding-block:20px;border-top:1px solid var(--line)}
.foot__bottom a{text-decoration:underline;text-underline-offset:3px}
.foot__marks{display:flex;gap:14px 24px;flex-wrap:wrap;align-items:center}
.foot__marks img{height:34px;width:auto}
.foot__big{
  font-family:var(--ff-display);font-weight:500;text-transform:uppercase;letter-spacing:-.04em;
  font-size:clamp(56px,15vw,230px);line-height:.8;color:transparent;
  -webkit-text-stroke:1px rgba(20,21,24,.1);padding-block:10px 18px;user-select:none;
}

/* ---------- Page hero (interior) ---------- */
.phero{position:relative;padding-top:calc(var(--head) + clamp(44px,6vw,90px));padding-bottom:clamp(40px,5vw,76px);overflow:hidden;border-bottom:1px solid var(--line);background:var(--bg)}
.phero__bg{position:absolute;inset:0;z-index:0;background-image:linear-gradient(var(--line-soft) 1px,transparent 1px),linear-gradient(90deg,var(--line-soft) 1px,transparent 1px);background-size:clamp(48px,6vw,96px) clamp(48px,6vw,96px);-webkit-mask-image:radial-gradient(80% 70% at 75% 0%,#000,transparent);mask-image:radial-gradient(80% 70% at 75% 0%,#000,transparent)}
.or .phero{background:linear-gradient(180deg,var(--or-50),#fff 80%)}
.or .phero__bg{background-image:radial-gradient(rgba(232,89,12,.28) 1px,transparent 1.2px);background-size:22px 22px}
.phero__in{position:relative;z-index:1}
.phero h1{max-width:20ch}
.phero h1.display{font-size:clamp(38px,6vw,96px)}
.phero__foot{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(20px,4vw,60px);align-items:end;margin-top:clamp(24px,3.2vw,46px)}

/* ---------- Grids ---------- */
.g2{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(18px,2.4vw,40px)}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,28px)}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.g4>*{background:var(--bg);padding:clamp(18px,2vw,30px)}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,5vw,90px);align-items:start}
.split--wide{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)}
.aside-sticky{position:sticky;top:calc(var(--head) + 24px)}

/* ---------- Sector detail ---------- */
.sblock{padding-block:clamp(40px,5vw,76px);border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(0,.42fr) minmax(0,1fr);gap:clamp(24px,4vw,72px);scroll-margin-top:calc(var(--head) + 10px)}
.sblock__index{display:flex;gap:14px;align-items:baseline}
.sblock__glyph{width:clamp(64px,7vw,104px);height:auto;margin:20px 0 22px;color:var(--accent)}
.sblock__glyph *{stroke:currentColor;fill:none;stroke-width:.9;vector-effect:non-scaling-stroke}
.sblock__body{display:flex;flex-direction:column;gap:22px;min-width:0}
.chips{display:flex;flex-wrap:wrap;gap:8px}

/* ---------- Video ---------- */
.vblock{position:relative;border:1px solid var(--or-line);background:#f6ede1;overflow:hidden}
.vblock video{width:100%;height:auto;display:block;aspect-ratio:16/9;object-fit:cover}
.vblock__bar{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:12px 16px;border-top:1px solid var(--or-line);background:var(--or-50)}

/* ---------- Misc ---------- */
.flex{display:flex;gap:16px;align-items:center}
.flex--between{justify-content:space-between}
.wrap-gap{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.mt-s{margin-top:14px}.mt-m{margin-top:28px}.mt-l{margin-top:clamp(24px,3vw,46px)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.funding img{height:30px;width:auto}
.err404{min-height:70vh;display:flex;align-items:center}

/* ---------- Responsive ---------- */
@media (max-width:1240px){
  .logos{grid-template-columns:repeat(5,1fr)}
  .foot__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .foot__grid .foot__col:first-child{grid-column:1/-1}
}
@media (max-width:1180px){
  .team{grid-template-columns:repeat(3,1fr)}
  .t-row{grid-template-columns:96px minmax(0,1fr) 120px 30px}
  .t-row__mode{display:none}
  .nav{gap:14px}
}
@media (max-width:1040px){
  .nav,.head__cta .btn{display:none}
  .burger{display:block}
  .sec-head{grid-template-columns:1fr;align-items:start}
  .sec-head__right{justify-self:start}
  .hero__foot{grid-template-columns:1fr;align-items:start}
  .net__in,.split,.split--wide,.sblock,.phero__foot,.detail{grid-template-columns:1fr}
  .aside-sticky,.detail__aside{position:static}
  .stats{grid-template-columns:repeat(2,1fr)}
  .stats__item:nth-child(2n){border-right:0}
  .stats__item:nth-child(n+3){border-top:1px solid var(--line)}
  .stats--3{grid-template-columns:repeat(3,1fr)}
  .stats--3 .stats__item{border-top:0!important;border-right:1px solid var(--line)!important}
  .stats--3 .stats__item:last-child{border-right:0!important}
  .team{grid-template-columns:repeat(2,1fr)}
  .svc,.svc--3{grid-template-columns:1fr}
  .g3,.g4{grid-template-columns:repeat(2,1fr)}
  .posts{grid-template-columns:repeat(2,1fr)}
  .logos{grid-template-columns:repeat(4,1fr)}
  .logos--big{grid-template-columns:repeat(3,1fr)}
  .sector{grid-template-columns:48px minmax(0,1fr) 34px}
  .sector__tags{display:none}
  .cal__month{grid-template-columns:1fr}
  .cal__monthname{position:static}
  .hero h1{max-width:none}
  .books{grid-template-columns:1fr}
}
@media (max-width:640px){
  body{font-size:15.5px}
  .g2,.g3,.g4,.form,.team,.posts{grid-template-columns:1fr}
  .stats--3 .stats__num{font-size:34px}
  .logos{grid-template-columns:repeat(3,1fr)}
  .logos--big,.logos--certs{grid-template-columns:repeat(2,1fr)}
  .logos li{min-height:76px;padding:14px 10px}
  .logos img{max-height:30px}
  .t-row{grid-template-columns:1fr auto;gap:6px 12px;padding-block:16px}
  .t-row__code{grid-column:1;grid-row:1}
  .t-row__title{grid-column:1/-1;grid-row:2}
  .t-row__dur{grid-column:2;grid-row:1;justify-self:end}
  .t-row__mode,.t-row__cta{display:none}
  .cal-row{grid-template-columns:1fr auto;gap:8px 12px}
  .cal-row__title{grid-column:1/-1;grid-row:2}
  .cal-row__date{grid-column:1;grid-row:1}
  .cal-row .seats{grid-column:2;grid-row:1}
  .cal-row .t-row__code{display:none}
  .foot__grid{grid-template-columns:1fr 1fr}
  .field--full{grid-column:auto}
  .hero__stats{gap:16px 26px}
  .hero__stat{min-width:calc(50% - 13px)}
  .net__cities{grid-template-columns:1fr}
  .net__city{border-right:0;border-bottom:1px solid var(--or-line);padding:14px 0;margin:0}
  .net__city:last-child{border-bottom:0}
  .tl__item{grid-template-columns:1fr;gap:4px}
  .pager{grid-template-columns:1fr}
  .pager a:last-child{text-align:left}
  .btn{white-space:normal;text-align:left}
  .display{overflow-wrap:anywhere}
}
@media (max-width:420px){.foot__grid{grid-template-columns:1fr}}

/* grelhas com linhas finas: sem preenchimento cinzento quando a última linha fica incompleta */
.rel,.svc,.team,.logos,.g4{gap:0;background:transparent;border:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.rel>*,.svc>*,.team>*,.logos>li,.g4>*{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.logos--certs{display:inline-grid;grid-template-columns:repeat(2,minmax(0,280px))}
@media (max-width:640px){.logos--certs{display:grid;grid-template-columns:repeat(2,1fr)}}
.t-row--audit{grid-template-columns:150px minmax(0,1fr) 220px 60px}
@media (max-width:1040px){.t-row--audit{grid-template-columns:130px minmax(0,1fr) 30px}}
@media (max-width:640px){.t-row--audit{grid-template-columns:1fr}.t-row--audit .t-row__title{grid-row:2}}
@media (max-width:640px){
  .hero__top>.mono{display:none}
  .hero__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%}
  .hero__stat{min-width:0}
  .hero__stat .mono{font-size:9px;letter-spacing:.08em;display:block}
}

/* ===== Tipografia v2: Archivo larga nos títulos, rótulos sem monoespaçada ===== */
@font-face{font-family:"Archivo";font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url("../fonts/archivo-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Archivo";font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url("../fonts/archivo-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+2020,U+20A0-20AB,U+20AD-20C4,U+2C60-2C7F,U+A720-A7FF}
:root{--ff-display:"Archivo","Inter","Helvetica Neue",Arial,sans-serif;--ff-label:"Inter","Helvetica Neue",Arial,sans-serif}
.display,.h2,.sector__name,.drawer nav a,.cal__monthname b{text-transform:none;font-stretch:115%;font-weight:750;letter-spacing:-.035em}
.display{font-size:clamp(44px,7.4vw,124px);line-height:.95}
.h2{font-size:clamp(32px,4vw,62px);line-height:1.02;max-width:18ch}
.h3,.h4,.t-row__title,.stats__num,.hero__stat b,.net__city b,.code-big,.team__m b,.quote p,.prose h2{font-family:var(--ff-display);font-stretch:108%}
.h3{font-weight:650;letter-spacing:-.025em}
.h4,.t-row__title,.team__m b{font-weight:600;letter-spacing:-.015em}
.stats__num,.hero__stat b,.net__city b{font-weight:700;font-stretch:112%}
.code-big{font-weight:800;font-stretch:120%}
.quote p{font-weight:500;font-stretch:100%}
.display em,.h2 em{font-weight:750;font-style:normal}
.mono,.sec-head__idx,.btn,.link-u,.nav a,.chip,.tag,.field label,.field legend,.foot__col h4,.marquee__item,.sector__num,.svc__num,.seats,.cal-row__date i,.t-row__meta,.logos__cap,.hero__scroll{font-family:var(--ff-label);letter-spacing:.06em}
.mono{font-size:11.5px;font-weight:500}
.sec-head__idx{font-size:12px;font-weight:600;letter-spacing:.08em}
.btn{font-size:12.5px;font-weight:600;letter-spacing:.04em;text-transform:none}
.link-u{font-size:13px;font-weight:600;letter-spacing:.02em;text-transform:none}
.nav a{font-size:13.5px;font-weight:500;letter-spacing:0;text-transform:none}
.chip{font-size:12.5px;font-weight:500;letter-spacing:0;text-transform:none}
.tag{font-size:11px;font-weight:500;letter-spacing:.02em;text-transform:none}
.t-row__code,.rel b,.cal-row__date{font-family:var(--ff-label);font-weight:600;letter-spacing:.01em}
.svc__num{font-size:12px;font-weight:500;letter-spacing:.02em;color:var(--accent-ink)}
.sector__name{font-size:clamp(28px,3.4vw,50px)}
.lede{font-size:clamp(17px,1.25vw,20px)}
/* menos linhas e mais respiro */
.sec{padding-block:clamp(80px,9vw,150px)}
.sec-head{border-bottom:0;padding-bottom:0}
.svc{border-top:0;border-left:0;gap:clamp(14px,1.6vw,22px)}
.svc>*{border:1px solid var(--line)}
.svc__item{min-height:0}
/* faixa de logótipos a deslizar */
.logo-strip{overflow:hidden;border-block:1px solid var(--line);padding-block:clamp(22px,2.6vw,34px);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.logo-strip__track{display:flex;align-items:center;gap:clamp(40px,5vw,72px);width:max-content;animation:slide 70s linear infinite}
.logo-strip:hover .logo-strip__track{animation-play-state:paused}
.logo-strip img{height:clamp(26px,2.6vw,36px);width:auto;max-width:150px;object-fit:contain;filter:grayscale(1);opacity:.65;transition:.3s}
.logo-strip img:hover{filter:none;opacity:1}
.partners-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:28px 40px;margin-top:clamp(36px,4vw,56px)}
.partners-row img{height:clamp(38px,3.4vw,52px);width:auto;max-width:150px;object-fit:contain}
@media (prefers-reduced-motion:reduce){.logo-strip__track{animation:none;flex-wrap:wrap;width:auto;justify-content:center}}
/* CTA final */
.cta-band{background:var(--fg);color:#fff;padding-block:clamp(64px,8vw,120px)}
.cta-band__in{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap}
.cta-band .h2{color:#fff;max-width:16ch}
.cta-band .h2 em{color:#ff6b6f}
.cta-band .btn{--fg:#fff;--bd:rgba(255,255,255,.4);color:#fff}
.cta-band .btn:hover{background:#fff;color:var(--fg)}
.cta-band .btn--solid:hover{background:#fff;color:var(--fg)}
@media (max-width:640px){.partners-row{justify-content:center}.partners-row img{height:34px}}

/* ===== Gradiente OPCO: vermelho → laranja (liga a marca à OPCO Network) ===== */
:root{--grad:linear-gradient(100deg,#9e111a 0%,#b3141c 35%,#cc2219 75%,#dd3a17 100%);--grad-soft:linear-gradient(100deg,rgba(179,20,28,.10),rgba(232,89,12,.10))}
.or,.net{--grad:linear-gradient(100deg,#d2331a 0%,#e8590c 60%,#f08a3a 100%)}
/* palavras em destaque nos títulos */
.display em,.h2 em,.h3 em,.phero h1 em,.net .h2 em{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;padding-right:.04em}
.cta-band .h2 em{background:linear-gradient(100deg,#ff4d55,#ff6d4a);-webkit-background-clip:text;background-clip:text}
/* botões principais e barra de progresso */
.btn--solid{background:var(--grad);border-color:transparent;background-size:160% 100%;background-position:0 0;transition:background-position .5s var(--ease),color .3s,box-shadow .3s}
.btn--solid:hover{background:var(--grad);background-size:160% 100%;background-position:100% 0;color:#fff;box-shadow:0 10px 24px -14px rgba(179,20,28,.7)}
.cta-band .btn--solid:hover{background:var(--grad);background-size:160% 100%;background-position:100% 0;color:#fff}
.progress{background:var(--grad)}
/* pequenos traços e marcadores */
.sec-head__idx::after{background:var(--grad);opacity:1;height:2px}
.marquee__item::after{background:var(--grad)}
.nav a::after,.nav a.nav--or::after{background:var(--grad);height:2px}
.quote{border-left:0;position:relative}
.quote::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(180deg,#b3141c,#e8590c)}
.hero__scroll i{background:linear-gradient(180deg,#b3141c,#e8590c 60%,transparent)}
/* passagem suave para a zona OPCO Network */
.net{border-top:0;border-bottom:0}
.net::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--grad);z-index:2}
.hero__veil{background:radial-gradient(70% 60% at 0% 0%,rgba(179,20,28,.07),transparent 70%),radial-gradient(90% 70% at 90% 110%,rgba(232,89,12,.13),transparent 60%)}
.cta-band{background:linear-gradient(120deg,#141518 0%,#1d1416 55%,#2a1710 100%)}
.cta-band::before{content:"";display:block;height:2px;background:var(--grad);margin-top:calc(-1 * clamp(64px,8vw,120px));margin-bottom:clamp(64px,8vw,120px)}
.stats__num sup{color:#d2331a}
.net{--grad:linear-gradient(100deg,#c42418 0%,#e8590c 55%,#f28a3c 100%)}
/* transições suaves entre secções na página inicial (cinza → laranja claro → branco) */
#filme.or-band{background:linear-gradient(180deg,var(--bg-2) 0%,#fbf1ea 30%,var(--or-50) 55%,#fff 100%)}
#network.net{background:linear-gradient(180deg,var(--bg-2) 0%,#fbf3ee 35%,var(--or-50) 65%,#fff 100%)}
/* vídeo de fundo no topo da página inicial */
.hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.hero .hero__grid{display:none}
.hero .hero__veil{background:linear-gradient(90deg,rgba(255,255,255,.86) 0%,rgba(255,255,255,.6) 26%,rgba(255,255,255,0) 50%),linear-gradient(180deg,rgba(255,255,255,0) 82%,#fff 100%)}
.hero h1.display{font-size:clamp(40px,5.4vw,88px);max-width:11ch}
.hero .lede{max-width:44ch;font-size:clamp(15px,1.05vw,17px)}
.hero__foot{border-top:0}
.hero__stats{background:rgba(255,255,255,.78);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:14px 18px;border:1px solid var(--line-soft)}
.hero__top>.mono{display:none}
@media (max-width:1040px){.hero .hero__veil{background:linear-gradient(180deg,rgba(255,255,255,.3) 0%,rgba(255,255,255,.75) 50%,#fff 100%)}}
@media (prefers-reduced-motion:reduce){.hero__video{display:none}}
/* testemunhos em cartões */
.tcar{position:relative}
.tcar__track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 40px)/3);gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px}
.tcar__track::-webkit-scrollbar{display:none}
.tcard{scroll-snap-align:start;margin:0;background:var(--bg);border:1px solid var(--line);padding:clamp(22px,2.2vw,32px);display:flex;flex-direction:column;gap:18px;min-height:260px;transition:border-color .3s,transform .4s var(--ease)}
.tcard:hover{border-color:#e0a07a;transform:translateY(-3px)}
.tcard__mark{font-family:var(--ff-display);font-weight:800;font-size:64px;line-height:.6;height:28px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.tcard blockquote{margin:0;flex:1}
.tcard p{font-size:16.5px;line-height:1.6;color:var(--fg)}
.tcard figcaption{margin-top:auto}
.tcar__nav{display:flex;gap:8px;justify-content:flex-end;margin-top:22px}
.tcar__nav button{width:46px;height:46px;border:1px solid var(--line);display:grid;place-items:center;background:var(--bg);transition:.25s}
.tcar__nav button:hover{border-color:transparent;background:var(--grad);color:#fff}
@media (max-width:1040px){.tcar__track{grid-auto-columns:calc((100% - 20px)/2)}}
@media (max-width:640px){.tcar__track{grid-auto-columns:86%}.tcard{min-height:0}}
/* slideshow: barra de tempo até ao próximo cartão */
.tcar__nav{align-items:center}
.tcar__bar{flex:1;max-width:220px;height:2px;background:var(--line);margin-right:12px;overflow:hidden}
.tcar__bar i{display:block;height:100%;width:100%;background:var(--grad);transform-origin:left;animation:tbar 5s linear}
.tcar.is-paused .tcar__bar i{animation-play-state:paused}
@keyframes tbar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media (prefers-reduced-motion:reduce){.tcar__bar{display:none}}
/* rodapé mais compacto */
.foot{padding-top:clamp(36px,4vw,56px)}
.foot__big{display:none}
.foot__grid{gap:clamp(20px,2.6vw,40px);padding-bottom:clamp(24px,3vw,36px)}
.foot__col h4{margin-bottom:12px}
.foot__col a,.foot__col p{font-size:13.5px;margin-bottom:6px}
.foot__col:first-child img{height:38px!important;margin-bottom:14px!important}
.foot__col:first-child p{font-size:13px;color:var(--muted)}
.foot__social{margin-top:14px}
.foot__social a{width:34px;height:34px}
.foot__bottom{padding-block:14px}
/* Livro de Reclamações: o logótipo é branco, passa a escuro no fundo claro */
.foot__marks a[href*="livroreclamacoes"] img{filter:invert(1);height:38px!important;opacity:.9}
.foot__marks a[href*="livroreclamacoes"]{background:#1d1f23;padding:6px 10px;border-radius:4px;display:inline-flex}
.foot__marks a[href*="livroreclamacoes"] img{filter:none;height:30px!important;opacity:1}
/* rodapé ainda mais compacto */
.foot{padding-top:28px}
.foot__grid{grid-template-columns:minmax(0,1.1fr) repeat(3,minmax(0,1fr));gap:16px 32px;padding-bottom:18px}
.foot__col:nth-child(2){display:none}
.foot__col:first-child p{display:none}
.foot__col:first-child img{height:32px!important;margin-bottom:10px!important}
.foot__col h4{margin-bottom:8px;font-size:10.5px}
.foot__col a,.foot__col p{font-size:13px;margin-bottom:3px;line-height:1.45}
.foot__col small{margin:0 0 4px;font-size:11px}
.foot__social{margin-top:6px}
.foot__social a{width:30px;height:30px}
.foot__social svg{width:14px;height:14px}
.foot__bottom{padding-block:10px}
.foot__marks img{height:26px!important}
.foot__marks a[href*="livroreclamacoes"] img{height:24px!important}
@media (max-width:1240px){.foot__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.foot__grid .foot__col:first-child{grid-column:1/-1;display:flex;align-items:center;gap:20px}.foot__col:first-child img{margin:0!important}.foot__social{margin:0}}
@media (max-width:640px){.foot__grid{grid-template-columns:1fr 1fr}}
/* testemunhos: nomes de formação longos já não saem do cartão */
.tcard .tag{white-space:normal;line-height:1.4;display:inline-block;max-width:100%}
.tcard p{overflow-wrap:anywhere}
.tcar__track{align-items:stretch}

/* ===== Acabamento premium ===== */
:root{--r:6px;--shadow:0 1px 2px rgba(20,21,24,.04),0 12px 32px -18px rgba(20,21,24,.22);--shadow-hi:0 2px 4px rgba(20,21,24,.05),0 24px 48px -24px rgba(20,21,24,.3)}
html{scrollbar-color:#c9ccd1 transparent}
body{font-feature-settings:"ss01","cv11";text-rendering:geometricPrecision}
h1,h2,h3,.display,.h2,.h3{text-wrap:balance}
p,.lede{text-wrap:pretty}
.stats__num,.hero__stat b,.net__city b,.cal-row__date{font-variant-numeric:tabular-nums}
/* cantos e sombras suaves */
.card,.tcard,.post,.svc>*,.cal-empty,.hero__stats,.vblock,.or-panel,.field input,.field select,.field textarea{border-radius:var(--r)}
.btn,.chip,.tcar__nav button,.foot__social a,.burger{border-radius:calc(var(--r) - 2px)}
.tag{border-radius:3px}
.card,.tcard,.post,.svc>*,.cal-empty{box-shadow:var(--shadow);border-color:rgba(20,21,24,.08)}
a.card:hover,.card--hover:hover,.tcard:hover,.post:hover,a.svc__item:hover{box-shadow:var(--shadow-hi);transform:translateY(-4px)}
.svc>*{transition:transform .45s var(--ease),box-shadow .45s var(--ease),background .3s}
.post{overflow:hidden}
.team{border-radius:var(--r);overflow:hidden}
img[src*="destaques"],.post__img img{border-radius:0}
/* botões com brilho subtil */
.btn--solid{box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 8px 20px -12px rgba(179,20,28,.55)}
.btn:not(.btn--solid){background:rgba(255,255,255,.7);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.btn:not(.btn--solid):hover{background:var(--fg);color:#fff}
/* cabeçalho mais leve */
.head{background:rgba(255,255,255,.72);border-bottom-color:transparent}
.head.is-stuck{background:rgba(255,255,255,.88);box-shadow:0 1px 0 rgba(20,21,24,.06),0 10px 30px -22px rgba(20,21,24,.4)}
/* separadores entre secções: linha fina em gradiente a esbater nas pontas */
.sec+.sec::before,.sec+section::before{content:"";position:absolute;top:0;left:50%;width:min(1200px,90%);height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,rgba(20,21,24,.1),transparent)}
/* sessões e listas com mais ar */
.t-row,.cal-row{transition:background .3s,padding .35s var(--ease)}
.sector{border-bottom-color:rgba(20,21,24,.08)}
.sector:first-child{border-top-color:rgba(20,21,24,.08)}
/* entrada suave da página */
@media (prefers-reduced-motion:no-preference){main{animation:pagein .6s var(--ease) both}@keyframes pagein{from{opacity:0}to{opacity:1}}}
/* logótipos de parceiros com mais calma */
.partners-row img{filter:grayscale(1);opacity:.8;transition:.3s}
.partners-row img:hover{filter:none;opacity:1}
.cta-band .btn:not(.btn--solid){background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.cta-band .btn:not(.btn--solid):hover{background:#fff;color:var(--fg)}
/* vídeo mais limpo: véu branco mínimo, legibilidade por sombra do texto */
.hero .hero__veil{background:linear-gradient(90deg,rgba(255,255,255,.62) 0%,rgba(255,255,255,.28) 24%,rgba(255,255,255,0) 42%),linear-gradient(180deg,rgba(255,255,255,0) 90%,#fff 100%)}
.hero h1,.hero .lede{text-shadow:0 0 18px rgba(255,255,255,.9),0 0 3px rgba(255,255,255,.8)}
.hero .lede{color:var(--fg);font-weight:500}
.hero__video{filter:none;image-rendering:auto}
@media (max-width:1040px){.hero .hero__veil{background:linear-gradient(180deg,rgba(255,255,255,.15) 0%,rgba(255,255,255,.55) 55%,#fff 100%)}}
.hero h1 em{text-shadow:none;filter:drop-shadow(0 0 12px rgba(255,255,255,.85))}
/* legibilidade sem contornos: em vez de brilho nas letras, uma luz branca muito difusa atrás do bloco de texto */
.hero h1,.hero .lede{text-shadow:none}
.hero h1 em{filter:none}
.hero__in::before{content:"";position:absolute;z-index:-1;left:-12%;top:18%;width:70%;height:80%;background:radial-gradient(closest-side,rgba(255,255,255,.72),rgba(255,255,255,.4) 55%,rgba(255,255,255,0));pointer-events:none}
@media (max-width:1040px){.hero__in::before{left:-20%;width:140%;top:10%}}
/* ===== Calendário mensal ===== */
.mcal__views{display:flex;gap:6px;margin-bottom:18px}
.mcal{background:var(--bg);border:1px solid rgba(20,21,24,.08);border-radius:var(--r);box-shadow:var(--shadow);padding:clamp(18px,2.4vw,34px)}
.mcal__head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.mcal__title{font-family:var(--ff-display);font-stretch:115%;font-weight:750;letter-spacing:-.03em;font-size:clamp(28px,3vw,44px);line-height:1;margin-top:8px}
.mcal__title span{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.mcal__ctrl{display:flex;gap:8px;align-items:center}
.mcal__arrow{width:42px;height:42px;border:1px solid var(--line);border-radius:4px;display:grid;place-items:center;transition:.25s}
.mcal__arrow:hover{background:var(--grad);color:#fff;border-color:transparent}
.mcal__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line);border-radius:4px;overflow:hidden}
.mcal__wd{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:10px 12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg-2)}
.mcal__day{min-height:clamp(84px,9vw,120px);padding:8px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:4px;min-width:0;transition:background .25s}
.mcal__day:hover{background:#fcfaf8}
.mcal__day.is-we{background:#fbfbfa}
.mcal__day.is-out .mcal__n{opacity:.3}
.mcal__n{font-size:13px;font-weight:600;color:var(--fg-2);width:26px;height:26px;display:grid;place-items:center;border-radius:50%;font-variant-numeric:tabular-nums}
.mcal__day.is-today .mcal__n{background:var(--grad);color:#fff}
.mcal__ev{display:flex;flex-direction:column;font-size:11.5px;line-height:1.25;padding:4px 7px;border-radius:3px;border-left:3px solid;background:var(--red-50);color:var(--fg);overflow:hidden;transition:transform .2s,box-shadow .2s}
.mcal__ev:hover{transform:translateY(-1px);box-shadow:0 6px 14px -8px rgba(20,21,24,.4)}
.mcal__ev b{font-weight:700;white-space:nowrap}
.mcal__ev span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted)}
.mcal__ev.is-past{opacity:.55}
.mcal__ev--vda{border-color:#b3141c;background:#fbeeee}
.mcal__ev--opco{border-color:#141518;background:#f1f1ef}
.mcal__ev--odette{border-color:#7a5af5;background:#f2effe}
.mcal__ev--net{border-color:#e8590c;background:#fff1e6}
.mcal__more{font-size:11px;color:var(--muted);padding-left:4px}
.mcal__foot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center;margin-top:18px}
.mcal__legend{display:flex;gap:14px;flex-wrap:wrap}
.mcal__legend span{font-size:12px;font-weight:500;border-left:3px solid;padding:2px 8px;border-radius:2px}
.mcal__foot .link-u{background:none;cursor:pointer}
@media (max-width:760px){
  .mcal{padding:14px}
  .mcal__wd{padding:8px 4px;text-align:center;font-size:10px;letter-spacing:.02em}
  .mcal__day{min-height:58px;padding:4px;align-items:center}
  .mcal__ev{width:8px;height:8px;padding:0;border-radius:50%;border:0}
  .mcal__ev b,.mcal__ev span{display:none}
  .mcal__ev.mcal__ev--vda{background:#b3141c}.mcal__ev.mcal__ev--opco{background:#141518}.mcal__ev.mcal__ev--odette{background:#7a5af5}.mcal__ev.mcal__ev--net{background:#e8590c}
  .mcal__day.has-ev{flex-direction:column}
}
/* cabeçalhos de secção: texto da direita alinhado com o topo do título */
.sec-head{align-items:start}
.sec-head__right{padding-top:calc(12px * 1.6 + 18px + .35em)}
.sec-head__right .lede{font-size:clamp(16px,1.15vw,18px)}
@media (max-width:1040px){.sec-head__right{padding-top:0}}
.fund-card{margin-top:28px;padding:20px 22px;background:var(--bg);border:1px solid rgba(20,21,24,.08);border-radius:var(--r);box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.fund-card img{width:100%;max-width:340px;height:auto;margin:4px 0}
/* onde já trabalhámos */
.where{margin-top:clamp(36px,4vw,64px);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,3vw,48px);background:var(--bg);border:1px solid rgba(20,21,24,.08);border-radius:var(--r);box-shadow:var(--shadow);padding:clamp(22px,3vw,40px);position:relative;overflow:hidden}
.where::before{content:"";position:absolute;right:-80px;top:-80px;width:280px;height:280px;border-radius:50%;background:radial-gradient(closest-side,rgba(232,89,12,.12),transparent);pointer-events:none}
.where__head{display:flex;flex-direction:column;gap:10px}
.where__col h3{padding-bottom:12px;border-bottom:2px solid transparent;border-image:var(--grad) 1;margin-bottom:6px}
.where__col ul{columns:2;column-gap:24px}
.where__col li{break-inside:avoid;display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;padding:9px 0;border-bottom:1px solid var(--line-soft);font-size:15px}
.where__col li i{width:7px;height:7px;border-radius:50%;background:var(--red);flex:none}
.where__col li small{font-size:10.5px;font-weight:600;letter-spacing:.04em;color:var(--muted);background:var(--bg-2);padding:2px 6px;border-radius:3px}
.where__col li.is-net i{background:var(--or);box-shadow:0 0 0 4px rgba(232,89,12,.15)}
.where__col li.is-net small{color:var(--or-ink);background:var(--or-50)}
@media (max-width:1040px){.where{grid-template-columns:1fr 1fr}.where__head{grid-column:1/-1}}
@media (max-width:640px){.where{grid-template-columns:1fr}}
/* mapa limpo */
.wm{margin:clamp(36px,4vw,64px) 0 0;background:var(--bg);border:1px solid rgba(20,21,24,.08);border-radius:var(--r);box-shadow:var(--shadow);padding:clamp(16px,2.4vw,36px)}
.wm svg{width:100%;height:auto;overflow:visible}
.wm__land circle{fill:#d9dbdf}
.wm__dot{fill:#b3141c}
.wm__ring{fill:rgba(179,20,28,.12);stroke:rgba(179,20,28,.35);stroke-width:.8}
.wm__m--net .wm__dot{fill:#e8590c}.wm__m--net .wm__ring{fill:rgba(232,89,12,.15);stroke:rgba(232,89,12,.5)}
.wm__m--big .wm__ring{fill:rgba(179,20,28,.1)}
.wm text{font-family:var(--ff-label);font-size:10.5px;font-weight:600;fill:var(--fg);paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}
.wm__m--net text{fill:#b4470a}
@media (prefers-reduced-motion:no-preference){.wm__ring{transform-box:fill-box;transform-origin:center;animation:wmp 2.8s ease-out infinite}.wm__m:nth-child(odd) .wm__ring{animation-delay:1.4s}@keyframes wmp{0%{transform:scale(.8);opacity:1}100%{transform:scale(2.2);opacity:0}}}
.where{margin-top:16px}
@media (max-width:640px){.wm text{font-size:14px}}
.wm__eu{fill:#b3141c;stroke:#fff;stroke-width:1}
.wm__card rect{fill:#fff;stroke:rgba(20,21,24,.1);filter:url(#wmsh)}
.wm__lead{stroke:#b3141c;stroke-width:1;fill:none;stroke-dasharray:3 3}
.wm text.wm__cardt{font-size:10.5px;font-weight:700;fill:#b3141c;stroke:none}
.wm text.wm__eut{font-size:9.5px;font-weight:500;fill:var(--fg-2);stroke:none}
/* selo ISO (substitui o logótipo de baixa resolução) */
.isob{display:inline-flex;align-items:center;gap:10px;padding:8px 14px 8px 10px;border:1px solid rgba(20,21,24,.12);border-radius:999px;background:#fff;white-space:nowrap}
.isob svg{width:30px;height:30px;flex:none}
.isob circle{fill:none;stroke:url(#none);stroke:#b3141c;stroke-width:1.6}
.isob path{fill:none;stroke:#e8590c;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.isob b{display:block;font-family:var(--ff-display);font-stretch:110%;font-size:14px;font-weight:700;letter-spacing:-.01em;color:var(--fg);line-height:1.1}
.isob small{display:block;font-size:10.5px;color:var(--muted);letter-spacing:.02em;margin-top:2px}
.partners-row li:has(.isob){filter:none;opacity:1}
.isob circle{stroke:#141518}.isob path{stroke:#141518}
/* mapa mais legível */
.wm__land circle{fill:#c4c7cd}
.wm text{font-size:13.5px;font-weight:700;stroke-width:4px}
.wm text.wm__cardt{font-size:13px}
.wm text.wm__eut{font-size:12px;font-weight:500;fill:var(--fg)}
.wm__eu{stroke-width:1.4}
.wm__lead{stroke-width:1.4}
.wm__ring{fill:rgba(179,20,28,.14);stroke:rgba(179,20,28,.45)}
@media (max-width:760px){.wm{padding:10px;overflow-x:auto}.wm svg{min-width:640px}}
/* mapa: mais compacto e continentes mais marcados */
.wm{max-width:1040px;margin-left:auto;margin-right:auto}
.wm__land circle{fill:#aeb3bb}
.wm text{font-size:14px}
/* mapa em rede (estilo opção 3) */
.wm{background:radial-gradient(120% 90% at 50% 40%,#fff 0%,#f6f7f8 70%,#eef0f2 100%)}
.wm__cap{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.wm__land circle{fill:#b9bdc4}
.wm__arc{fill:none;stroke:#c8161f;stroke-width:1.3;stroke-opacity:.55;stroke-dasharray:4 5}
@media (prefers-reduced-motion:no-preference){.wm__arc{animation:wmarc 2.6s linear infinite}@keyframes wmarc{to{stroke-dashoffset:-36}}}
.wm__hub .wm__dot{fill:#b3141c}.wm__hub .wm__ring{fill:rgba(179,20,28,.15);stroke:rgba(179,20,28,.5)}
.wm__stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:20px;background:#fff;border:1px solid rgba(20,21,24,.08);border-radius:var(--r);box-shadow:var(--shadow)}
.wm__stat{padding:18px 20px;display:flex;flex-direction:column;gap:4px;border-right:1px solid var(--line-soft)}
.wm__stat:last-child{border-right:0}
.wm__stat svg{width:26px;height:26px;fill:none;stroke:#b3141c;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;margin-bottom:6px}
.wm__stat b{font-family:var(--ff-display);font-stretch:112%;font-weight:750;font-size:clamp(24px,2.2vw,32px);line-height:1;color:var(--fg)}
.wm__stat b small{font-size:.5em;font-weight:600;color:var(--muted)}
.wm__stat span{font-size:12.5px;color:var(--muted)}
@media (max-width:760px){.wm__stats{grid-template-columns:1fr 1fr;min-width:0}.wm__stat:nth-child(2){border-right:0}.wm__stat:nth-child(-n+2){border-bottom:1px solid var(--line-soft)}}
/* globo 3D */
.globe{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,4vw,64px);align-items:center;margin-top:clamp(36px,4vw,64px)}
.globe__stage{position:relative}
.globe__stage canvas{width:100%;aspect-ratio:1/1;display:block;cursor:grab;touch-action:pan-y}
.globe__stage canvas:active{cursor:grabbing}
.globe__hint{text-align:center;margin-top:-8px}
.globe__regions{display:grid;grid-template-columns:1fr 1fr;gap:18px 28px;margin:24px 0}
.globe__regions b{display:flex;align-items:center;gap:8px;font-family:var(--ff-display);font-stretch:110%;font-weight:700;font-size:16px;padding-bottom:6px;border-bottom:2px solid transparent;border-image:var(--grad) 1;margin-bottom:8px}
.globe__regions b span{font-family:var(--ff-label);font-size:11px;font-weight:600;color:#fff;background:var(--grad);border-radius:999px;padding:1px 8px}
.globe__regions p{font-size:13px;line-height:1.55;color:var(--muted)}
.globe .wm__stats{grid-template-columns:1fr 1fr;margin-top:0}
.globe .wm__stat:nth-child(2){border-right:0}.globe .wm__stat:nth-child(-n+2){border-bottom:1px solid var(--line-soft)}
@media (max-width:1040px){.globe{grid-template-columns:1fr}.globe__stage{max-width:560px;margin:0 auto;width:100%}}
/* caixas de certificados: duas colunas iguais, à largura da grelha de parceiros */
.logos--certs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
.logos--certs li{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:170px;padding:28px 24px;text-align:center}
.logos--certs img{height:72px;width:auto;max-height:72px;max-width:180px}
.logos--certs .isob{min-height:72px;box-sizing:border-box}
.logos--certs .logos__cap{margin-top:0;max-width:300px}
@media (max-width:640px){
  .logos--certs{grid-template-columns:1fr}
  .logos--certs li{min-height:150px}
}
/* seletor de idioma */
.lang{position:relative}
.lang__btn{display:inline-flex;align-items:center;gap:7px;height:44px;padding:0 13px;border:1px solid var(--line);border-radius:calc(var(--r) - 2px);background:rgba(255,255,255,.72);font-family:var(--ff-label,var(--ff-body));font-size:12px;font-weight:600;letter-spacing:.08em;color:var(--fg);cursor:pointer;transition:border-color .2s,background .2s}
.lang__btn:hover,.lang.is-open .lang__btn{border-color:rgba(20,21,24,.45);background:#fff}
.lang__btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5}
.lang__menu{position:absolute;right:0;top:calc(100% + 8px);min-width:200px;margin:0;padding:6px;list-style:none;background:#fff;border:1px solid rgba(20,21,24,.08);border-radius:var(--r);box-shadow:0 22px 44px -14px rgba(20,21,24,.28);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .18s,transform .18s,visibility .18s;z-index:80}
.lang.is-open .lang__menu{opacity:1;visibility:visible;transform:none}
.lang__menu button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:16px;padding:11px 12px;border:0;border-radius:calc(var(--r) - 3px);background:none;font-family:var(--ff-body);font-size:14px;font-weight:500;color:var(--fg);text-align:left;cursor:pointer}
.lang__menu button:hover{background:var(--bg-2)}
.lang__menu b{font-family:var(--ff-label,var(--ff-body));font-size:11px;font-weight:600;letter-spacing:.1em;color:var(--muted)}
.lang__menu button[aria-current="true"]{color:var(--red)}
.lang__menu button[aria-current="true"] b{color:var(--red)}
html.i18n-wait body{opacity:0}
body{transition:opacity .25s}
/* nota nas páginas legais traduzidas (o original em português prevalece) */
.legal-note{display:none;margin-bottom:24px;padding:12px 16px;border-left:2px solid var(--red);background:var(--bg-2);color:var(--muted)}
html:not([lang="pt-PT"]) .legal-note{display:block}

/* ===== OPCO Network: mapa real Portugal – Marrocos ===== */
.ib svg{width:100%;height:auto;overflow:visible}
.ib__grat line{stroke:rgba(180,71,10,.12);stroke-width:.6;stroke-dasharray:2 4}
.ib__land{stroke-width:1.3;stroke-linejoin:round}
.ib__land--pt{fill:url(#ibDotPT);stroke:#b3141c}
.ib__land--ma{fill:url(#ibDotMA);stroke:#e8590c}
.ib__sea{font-family:var(--ff-label);font-size:10px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;fill:rgba(20,21,24,.28)}
.ib__strait{font-family:var(--ff-label);font-size:9.5px;font-weight:600;letter-spacing:.08em;fill:rgba(20,21,24,.45)}
.ib__route-base{fill:none;stroke:rgba(232,89,12,.18);stroke-width:6;stroke-linecap:round}
.ib__route{fill:none;stroke:url(#ibRoute);stroke-width:2.2;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1}
.ib.is-in .ib__route{animation:ibdraw 1.6s .3s cubic-bezier(.65,0,.35,1) forwards}
@keyframes ibdraw{to{stroke-dashoffset:0}}
.ib__core{stroke:#fff;stroke-width:2.5}
.ib__pin--pt .ib__core{fill:#b3141c}.ib__pin--ma .ib__core{fill:#e8590c}
.ib__wave{fill:none;stroke-width:1.4;transform-box:fill-box;transform-origin:center;animation:ibwave 2.8s ease-out infinite}
.ib__wave--2{animation-delay:1.4s}
.ib__pin--pt .ib__wave{stroke:#b3141c}.ib__pin--ma .ib__wave{stroke:#e8590c}
@keyframes ibwave{0%{transform:scale(1);opacity:.8}100%{transform:scale(4.2);opacity:0}}
.ib__name{font-family:var(--ff-display);font-stretch:112%;font-weight:750;font-size:19px;letter-spacing:-.02em;fill:var(--fg);paint-order:stroke;stroke:#fff8f2;stroke-width:5px;stroke-linejoin:round}
.ib__tag--ma .ib__name{fill:#b4470a}
.ib__sub{font-family:var(--ff-label);font-size:9.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;fill:var(--muted);paint-order:stroke;stroke:#fff8f2;stroke-width:4px}
.ib__coord{font-family:var(--ff-mono);font-size:9px;letter-spacing:.12em;fill:rgba(20,21,24,.4)}
.ib__pulse{mix-blend-mode:multiply}
@media (prefers-reduced-motion:reduce){.ib__route{stroke-dashoffset:0;animation:none}.ib__wave,.ib__pulse{display:none}}

/* ===== OPCO Network: animação de rede (canvas) ===== */
.nv{margin:0}
.nv canvas{width:100%;aspect-ratio:560/430;display:block;cursor:crosshair}
.nv__cap{display:flex;justify-content:center;gap:22px;flex-wrap:wrap;margin-top:6px;font-size:12px;font-weight:600;color:var(--fg-2)}
.nv__cap span{display:inline-flex;align-items:center;gap:8px}
.nv__dot{width:9px;height:9px;border-radius:50%;display:inline-block}
.nv__dot--pt{background:#b3141c}.nv__dot--ma{background:#e8590c}

/* ===== OPCO Network: tipografia em movimento ===== */
.nvt{position:relative;margin:0;aspect-ratio:560/430;overflow:hidden;border-radius:var(--r);-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.nvt__rows{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:6px}
.nvt__row{display:flex;gap:30px;white-space:nowrap;width:max-content;font-family:var(--ff-display);font-stretch:118%;font-weight:800;letter-spacing:-.04em;font-size:clamp(30px,4.2vw,56px);line-height:1.05}
.nvt__row span{color:transparent;-webkit-text-stroke:1px rgba(20,21,24,.2)}
.nvt__row span.f{color:var(--fg);-webkit-text-stroke:0}
.nvt__row span.g{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-stroke:0}
.nvt__r1{animation:nvtL 28s linear infinite}.nvt__r2{animation:nvtR 32s linear infinite}.nvt__r3{animation:nvtL 24s linear infinite}.nvt__r4{animation:nvtR 36s linear infinite}
@keyframes nvtL{to{transform:translateX(-50%)}}@keyframes nvtR{from{transform:translateX(-50%)}to{transform:none}}
.nvt__badge{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#fff;border-radius:999px;padding:14px 26px;box-shadow:0 18px 40px -18px rgba(20,21,24,.45);font-family:var(--ff-display);font-stretch:112%;font-weight:750;font-size:clamp(15px,1.7vw,20px);display:flex;align-items:center;gap:12px;white-space:nowrap;z-index:2}
.nvt__badge em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
@media (prefers-reduced-motion:reduce){.nvt__row{animation:none}}

/* revisão final */
@media (min-width:1000px){.team--5{grid-template-columns:repeat(5,1fr)}}
@media (max-width:640px){.team,.team--5{grid-template-columns:repeat(2,1fr)!important}.team__m>div{padding:12px 14px}.team__m b{font-size:15px}.svc--7>.svc__item{min-height:0!important}}
.post__img--none{background:radial-gradient(120% 90% at 85% 10%,rgba(255,255,255,.18),transparent 55%),var(--grad)!important;display:grid;place-items:center}
.post__img--none img{width:64px!important;height:auto!important;object-fit:contain!important;filter:brightness(0) invert(1);opacity:.92}

@media (min-width:1000px){.team--6{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1280px){.team--6{grid-template-columns:repeat(6,1fr)}}

.svc--net{grid-template-columns:repeat(4,1fr)!important}
.svc--net>.svc__item{min-height:200px!important;justify-content:flex-start}
.svc__cta{background:var(--grad)!important;color:#fff;text-decoration:none;position:relative}
.svc__cta .svc__num{color:rgba(255,255,255,.85)!important}
.svc__cta .h4{color:#fff}
.svc__go{margin-top:auto;font-size:24px;transition:transform .3s}
.svc__cta:hover .svc__go{transform:translateX(6px)}
@media (max-width:1100px){.svc--net{grid-template-columns:repeat(2,1fr)!important}}
@media (max-width:640px){.svc--net{grid-template-columns:1fr!important}.svc--net>.svc__item{min-height:0!important}}

/* newsletter no rodapé */
.foot__news{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;padding:clamp(26px,3vw,40px);margin-bottom:clamp(36px,4vw,56px);border-radius:var(--r);background:radial-gradient(120% 140% at 100% 0%,rgba(255,255,255,.16),transparent 55%),var(--grad);color:#fff;box-shadow:0 30px 60px -30px rgba(179,20,28,.55)}
.foot__news .mono{color:rgba(255,255,255,.8);margin-bottom:8px}
.foot__news-title{font-family:var(--ff-display);font-stretch:112%;font-weight:700;letter-spacing:-.02em;font-size:clamp(22px,2.2vw,32px);line-height:1.1;color:#fff}
.foot__news-sub{margin-top:8px;max-width:52ch;color:rgba(255,255,255,.88)}
.foot__news-btn{background:#fff!important;color:#b3141c!important;border-color:#fff!important;display:inline-flex;align-items:center;gap:10px;white-space:nowrap}
.foot__news-btn:hover{background:#141518!important;color:#fff!important;border-color:#141518!important}
@media (max-width:640px){.foot__news-btn{width:100%;justify-content:center}}
/* menu com 8 entradas */
@media (max-width:1400px){.nav{gap:16px}.nav a{font-size:13px}}
@media (max-width:1260px){.nav,.head__cta .btn{display:none}.burger{display:block}}

/* ================= OPCO Digital ================= */
body[data-page="digital"]{--dg-ink:#06122e;--dg-navy:#0a1e4a;--dg-blue:#2f80d1;--dg-sky:#7cc0ec;--dg-grad:linear-gradient(95deg,#7cc0ec 0%,#3f95dc 45%,#2563b8 100%);--accent:#2563b8;--grad:var(--dg-grad)}
body[data-page="digital"] .sec-head__idx{color:var(--dg-blue)}
body[data-page="digital"] .sec-head__idx::after{background:var(--dg-grad)}
body[data-page="digital"] .btn--solid{--bg:#2563b8;--bd:#2563b8}
body[data-page="digital"] .prose a,body[data-page="digital"] .lede a{color:var(--dg-blue)}
.dg-hero{position:relative;overflow:hidden;background:radial-gradient(80% 90% at 85% 30%,rgba(47,128,209,.35),transparent 60%),radial-gradient(60% 70% at 0% 100%,rgba(124,192,236,.14),transparent 60%),linear-gradient(180deg,#071533 0%,#0a1e4a 100%);color:#fff;padding:clamp(120px,13vw,170px) 0 clamp(70px,8vw,120px)}
.dg-hero__fx{position:absolute;inset:0;width:100%;height:100%;opacity:.9}
.dg-hero__grid{position:absolute;left:-10%;right:-10%;bottom:-2px;height:46%;background-image:linear-gradient(rgba(124,192,236,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(124,192,236,.18) 1px,transparent 1px);background-size:56px 56px;transform:perspective(600px) rotateX(62deg);transform-origin:bottom;mask-image:linear-gradient(0deg,#000 10%,transparent 90%);-webkit-mask-image:linear-gradient(0deg,#000 10%,transparent 90%)}
.dg-hero__in{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(36px,5vw,80px);align-items:center}
.dg-hero .crumbs,.dg-hero .crumbs a{color:rgba(255,255,255,.6)}
.dg-hero .crumbs li[aria-current]{color:var(--dg-sky)}
.dg-hero__logo{display:block;width:min(340px,70%);height:auto;margin:26px 0 30px;filter:drop-shadow(0 10px 30px rgba(47,128,209,.35))}
.dg-hero__title{font-family:var(--ff-display);font-weight:800;font-stretch:112%;letter-spacing:-.035em;line-height:1.02;font-size:clamp(36px,4.6vw,68px);margin:0}
.dg-hero__title em{font-style:normal;background:var(--dg-grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.dg-hero__lede{margin-top:22px;max-width:56ch;font-size:clamp(16px,1.25vw,19px);line-height:1.6;color:rgba(235,242,252,.82)}
.dg-hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.dg-btn{--bg:#fff;--bd:#fff;--fg:#0a1e4a;background:#fff!important;color:#0a1e4a!important;border-color:#fff!important}
.dg-btn:hover{background:var(--dg-sky);border-color:var(--dg-sky);color:#06122e}
.dg-btn--ghost{--bg:transparent;--bd:rgba(255,255,255,.4);--fg:#fff;background:transparent!important;color:#fff!important;border:1px solid rgba(255,255,255,.4)!important}
.dg-btn--ghost:hover{border-color:#fff;background:rgba(255,255,255,.08);color:#fff}
.dg-stats{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:clamp(20px,3vw,48px);margin:clamp(34px,4vw,54px) 0 0;padding-top:24px;border-top:1px solid rgba(255,255,255,.14)}
.dg-stats dt{font-family:var(--ff-display);font-weight:800;font-stretch:112%;font-size:clamp(26px,2.4vw,36px);letter-spacing:-.03em;background:var(--dg-grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.dg-stats dd{margin:4px 0 0;font-size:13px;color:rgba(235,242,252,.7);max-width:16ch}
.dg-hero__media{position:relative}
.dg-screen{border-radius:18px;overflow:hidden;background:#0d1a36;border:1px solid rgba(124,192,236,.28);box-shadow:0 40px 90px -30px rgba(0,0,0,.7),0 0 0 8px rgba(124,192,236,.06),0 0 80px -10px rgba(47,128,209,.45);transform:perspective(1400px) rotateY(-7deg) rotateX(3deg);transition:transform .8s var(--ease)}
.dg-hero__media:hover .dg-screen{transform:perspective(1400px) rotateY(-2deg) rotateX(1deg)}
.dg-screen__bar{display:flex;align-items:center;gap:7px;padding:11px 14px;background:rgba(255,255,255,.05);border-bottom:1px solid rgba(124,192,236,.18)}
.dg-screen__bar i{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.22)}
.dg-screen__bar span{margin-left:10px;font-size:12px;letter-spacing:.08em;color:rgba(235,242,252,.7)}
.dg-screen__vid{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#0d1a36}
.dg-chip{position:absolute;display:flex;flex-direction:column;gap:2px;padding:12px 16px;border-radius:12px;background:rgba(10,30,74,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(124,192,236,.3);box-shadow:0 20px 40px -18px rgba(0,0,0,.6);animation:dgFloat 6s ease-in-out infinite}
.dg-chip b{font-size:14px;color:#fff}.dg-chip span{font-size:12px;color:var(--dg-sky)}
.dg-chip--a{left:-26px;bottom:-26px}.dg-chip--b{right:-14px;top:-24px;animation-delay:-3s}
@keyframes dgFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.dg-num{font-family:var(--ff-display);font-weight:700;font-size:13px;letter-spacing:.08em;color:var(--dg-blue)}
.dg-pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.6vw,22px)}
.dg-pillar{padding:clamp(22px,2.4vw,34px);border-radius:var(--r);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px;transition:transform .4s var(--ease),border-color .4s}
.dg-pillar:hover{transform:translateY(-4px);border-color:rgba(47,128,209,.45)}
.dg-pillar p{color:#55575c;font-size:15px;line-height:1.55}
.dg-band{position:relative;overflow:hidden;color:#fff;background:radial-gradient(70% 120% at 100% 0%,rgba(47,128,209,.32),transparent 60%),linear-gradient(180deg,#0a1e4a,#071533);padding:clamp(70px,8vw,120px) 0}
.dg-band::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(124,192,236,.22) 1px,transparent 1.2px);background-size:22px 22px;mask-image:linear-gradient(90deg,transparent,#000 40%,#000 60%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 40%,#000 60%,transparent);opacity:.5}
.dg-band .wrap{position:relative}
.dg-eyebrow{color:var(--dg-sky)!important}
.dg-h2{font-family:var(--ff-display);font-weight:800;font-stretch:112%;letter-spacing:-.035em;line-height:1.04;font-size:clamp(32px,3.8vw,56px);margin-top:14px;color:#fff}
.dg-h2 em{font-style:normal;background:var(--dg-grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.dg-problem__in{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,80px);align-items:center}
.dg-problem__list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.dg-problem__list li{position:relative;padding:18px 22px 18px 56px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(124,192,236,.2);font-size:clamp(16px,1.3vw,19px);color:rgba(240,246,255,.92)}
.dg-problem__list li::before{content:"";position:absolute;left:22px;top:50%;width:18px;height:18px;margin-top:-9px;border-radius:50%;border:2px solid var(--dg-sky);box-shadow:0 0 14px rgba(124,192,236,.6)}
.dg-split{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(30px,5vw,80px);align-items:center}
.dg-list{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:12px}
.dg-list li{position:relative;padding-left:30px;line-height:1.5}
.dg-list li::before{content:"";position:absolute;left:0;top:.45em;width:14px;height:14px;border-radius:4px;background:var(--dg-grad)}
.dg-player{border-radius:18px;overflow:hidden;background:#06122e;box-shadow:0 40px 80px -30px rgba(10,30,74,.55);border:1px solid rgba(47,128,209,.25)}
.dg-player video{display:block;width:100%;aspect-ratio:16/9;background:#06122e}
.dg-sol{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.6vw,22px)}
.dg-sol__item{padding:clamp(24px,2.6vw,38px);border-radius:var(--r);background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;gap:12px;transition:transform .4s var(--ease),box-shadow .4s}
.dg-sol__item:hover{transform:translateY(-4px);box-shadow:0 30px 60px -30px rgba(10,30,74,.35)}
.dg-sol__item p{color:#55575c;font-size:15px;line-height:1.6}
.dg-sol__item--main{grid-row:span 2;background:linear-gradient(160deg,#0a1e4a,#123a7a);color:#fff;border-color:transparent;justify-content:flex-end;min-height:340px;position:relative;overflow:hidden}
.dg-sol__item--main::before{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(124,192,236,.45),transparent 65%)}
.dg-sol__item--main .dg-num{color:var(--dg-sky);font-size:28px;letter-spacing:-.01em}
.dg-sol__item--main h3{color:#fff}.dg-sol__item--main p{color:rgba(235,242,252,.82)}
.dg-areas{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.dg-area{background:#fff;padding:clamp(24px,2.4vw,36px);transition:background .3s}
.dg-area:hover{background:#f3f8fd}
.dg-area svg{width:30px;height:30px;fill:none;stroke:var(--dg-blue);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;margin-bottom:16px}
.dg-area .dg-list{margin-top:14px;gap:8px}.dg-area .dg-list li{font-size:14.5px;color:#55575c;padding-left:22px}
.dg-area .dg-list li::before{width:8px;height:8px;top:.55em;border-radius:50%}
.dg-steps{list-style:none;margin:clamp(34px,4vw,56px) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.6vw,22px);counter-reset:s}
.dg-steps>li{position:relative;padding:clamp(24px,2.4vw,34px);border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(124,192,236,.22)}
.dg-steps>li:not(:last-child)::after{content:"";position:absolute;right:calc(-1 * clamp(14px,1.6vw,22px));top:46px;width:clamp(14px,1.6vw,22px);height:2px;background:var(--dg-grad)}
.dg-step__n{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:12px;background:var(--dg-grad);color:#06122e;font-weight:800;font-family:var(--ff-display)}
.dg-steps h3{margin:18px 0 0;font-family:var(--ff-display);font-size:20px;font-weight:700;color:#fff}
.dg-steps .dg-list li{color:rgba(235,242,252,.8);font-size:15px}
.dg-note{margin-top:30px;font-size:18px;color:var(--dg-sky);font-weight:600}
.dg-sec{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.dg-sec div{padding:20px 22px;border-radius:14px;border:1px solid var(--line);background:#fff;display:flex;flex-direction:column;gap:6px;position:relative;padding-left:56px}
.dg-sec div::before{content:"";position:absolute;left:20px;top:22px;width:20px;height:20px;background:var(--dg-grad);-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2l8 3v6c0 5-3.4 9.3-8 11-4.6-1.7-8-6-8-11V5z'/></svg>") center/contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2l8 3v6c0 5-3.4 9.3-8 11-4.6-1.7-8-6-8-11V5z'/></svg>") center/contain no-repeat}
.dg-sec b{font-size:15.5px}.dg-sec span{font-size:14px;color:#55575c;line-height:1.5}
.dg-faq{display:grid;gap:10px}
.dg-faq details{border:1px solid var(--line);border-radius:14px;background:#fff;padding:0 22px;transition:border-color .3s}
.dg-faq details[open]{border-color:rgba(47,128,209,.45)}
.dg-faq summary{cursor:pointer;list-style:none;padding:20px 30px 20px 0;font-weight:600;font-size:16px;position:relative}
.dg-faq summary::-webkit-details-marker{display:none}
.dg-faq summary::after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:22px;color:var(--dg-blue);transition:transform .3s}
.dg-faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.dg-faq p{padding:0 0 20px;color:#55575c;line-height:1.6}
@media (max-width:1100px){.dg-pillars{grid-template-columns:repeat(2,1fr)}.dg-sol{grid-template-columns:repeat(2,1fr)}.dg-sol__item--main{grid-row:auto;grid-column:span 2;min-height:240px}}
@media (max-width:900px){.dg-hero__in,.dg-problem__in,.dg-split{grid-template-columns:1fr}.dg-areas{grid-template-columns:repeat(2,1fr)}.dg-steps{grid-template-columns:1fr}.dg-steps>li::after{display:none}.dg-screen{transform:none}.dg-chip--a{left:10px;bottom:-22px}.dg-chip--b{right:10px}}
@media (max-width:640px){.dg-pillars,.dg-sol,.dg-areas,.dg-sec{grid-template-columns:1fr}.dg-sol__item--main{grid-column:auto}.dg-stats{grid-template-columns:repeat(3,1fr);gap:14px}.dg-stats dd{font-size:12px}.dg-hero__logo{width:240px}.dg-chip{display:none}}
@media (prefers-reduced-motion:reduce){.dg-chip{animation:none}}
body[data-page="digital"] .head{background:rgba(255,255,255,.96)}
/* formações por entidade */
.t-groups{display:grid;gap:clamp(30px,3.6vw,52px);margin-top:clamp(20px,2.4vw,32px)}
.t-group__head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding-bottom:16px;border-bottom:2px solid var(--fg,#141518)}
.t-group__head .mono{margin-bottom:6px}
.t-group__title{font-family:var(--ff-display);font-weight:800;font-stretch:112%;letter-spacing:-.03em;line-height:1;font-size:clamp(28px,3vw,44px);margin:0}
.t-group__n{color:#77797e;white-space:nowrap}
.t-group .t-list{margin-top:0}
.t-group__soon{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:22px 0;border-bottom:1px solid var(--line);color:#55575c}
.t-group--empty .t-group__head{border-bottom-color:var(--line)}
.t-group--empty .t-group__title{color:#9a9ca1}
@media (max-width:640px){.t-group__head{align-items:flex-start;flex-direction:column;gap:6px}}
/* categorias de formação */
.t-cats{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(10px,1.2vw,16px);margin-top:clamp(18px,2vw,26px)}
.t-cat{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;padding:clamp(20px,2.2vw,30px);border-radius:var(--r);border:1px solid var(--line);background:#fff;cursor:pointer;font:inherit;color:inherit;transition:border-color .3s,box-shadow .3s,transform .3s var(--ease)}
.t-cat:hover{transform:translateY(-3px);box-shadow:0 24px 50px -30px rgba(20,21,24,.45);border-color:rgba(179,20,28,.35)}
.t-cat .mono{color:#b3141c;font-size:11px}
.t-cat b{font-family:var(--ff-display);font-weight:800;font-stretch:112%;letter-spacing:-.03em;font-size:clamp(26px,2.6vw,40px);line-height:1}
.t-cat i{font-style:normal;font-size:13px;color:#77797e}
.t-cat__arrow{position:absolute;right:clamp(18px,2vw,26px);top:clamp(18px,2vw,26px);width:34px;height:34px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);font-size:15px;transition:transform .35s var(--ease),background .3s,color .3s}
.t-cat[aria-pressed="true"]{border-color:transparent;background:var(--grad);color:#fff;box-shadow:0 24px 50px -24px rgba(179,20,28,.55)}
.t-cat[aria-pressed="true"] .mono,.t-cat[aria-pressed="true"] i{color:rgba(255,255,255,.85)}
.t-cat[aria-pressed="true"] .t-cat__arrow{transform:rotate(180deg);border-color:rgba(255,255,255,.5);color:#fff}
.t-cat--soon b{color:#9a9ca1}
.t-cat--soon[aria-pressed="true"] b{color:#fff}
.t-hint{margin-top:22px;color:#77797e}
.t-groups{margin-top:clamp(26px,3vw,40px)}
.t-group:not([hidden]){animation:tgIn .45s var(--ease)}
@keyframes tgIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (max-width:760px){.t-cats{grid-template-columns:repeat(2,1fr)}}
@media (max-width:420px){.t-cat b{font-size:24px}.t-cat__arrow{width:28px;height:28px}}
.t-groups .t-group__head{display:none}
[data-catalog].is-search .t-groups .t-group__head{display:flex;margin-top:8px}
.t-groups .t-row__mode{visibility:hidden}
@media (max-width:760px){.t-cat{padding-right:52px}}
.t-cats{grid-template-columns:repeat(3,minmax(0,1fr))}
.t-cat{min-width:0}.t-cat b{overflow-wrap:anywhere;max-width:100%}
@media (max-width:760px){.t-cats{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* OPCO Network: mundo */
.phero--world{position:relative;overflow:hidden}
.phero__world{opacity:.75;position:absolute;right:-4%;top:50%;width:min(1100px,72%);height:auto;transform:translateY(-46%);pointer-events:none;z-index:0;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 30%,#000 85%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 30%,#000 85%,transparent 100%);animation:worldIn 1.6s var(--ease) both}
.phero--world .phero__in{position:relative;z-index:1}
@keyframes worldIn{from{opacity:0;transform:translateY(-44%) scale(1.03)}to{opacity:.75;transform:translateY(-46%)}}
@media (max-width:900px){.phero__world{width:140%;right:-30%;top:auto;bottom:-6%;transform:none;opacity:.7;animation:none}}
.net-world__map{margin:clamp(10px,2vw,24px) 0 0;position:relative}
.net-world__map img{display:block;width:100%;height:auto}
.net-world__legend{display:flex;flex-wrap:wrap;gap:22px;justify-content:center;margin-top:14px;font-size:13px;color:#55575c}
.net-world__legend span{display:inline-flex;align-items:center;gap:8px}
.net-world__legend i{width:10px;height:10px;border-radius:50%;border:2px solid #e8590c;background:#fff}
.net-world__legend i.hub{background:#e8590c}
.net-world__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin-top:clamp(28px,3.4vw,48px)}
.net-world__grid>div{background:#fff;padding:clamp(20px,2.2vw,30px);display:flex;flex-direction:column;gap:6px}
.net-world__grid b{font-family:var(--ff-display);font-weight:800;font-stretch:112%;letter-spacing:-.02em;font-size:clamp(20px,1.8vw,26px)}
.net-world__grid .mono{color:#e8590c}
.net-world__grid p{margin-top:6px;font-size:14px;line-height:1.55;color:#55575c}
@media (max-width:900px){.net-world__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.net-world__grid{grid-template-columns:1fr}}
.net-clients .logo-strip{margin-top:clamp(10px,2vw,24px)}
/* mapa do topo da OPCO Network, centrado */
.phero--world .phero__world{left:50%;right:auto;top:52%;width:min(1280px,108%);opacity:.9;transform:translate(-50%,-50%);-webkit-mask-image:none;mask-image:none;animation:worldIn2 1.8s var(--ease) both}
@keyframes worldIn2{from{opacity:0;transform:translate(-50%,-48%) scale(1.04)}to{opacity:.9;transform:translate(-50%,-50%)}}
.phero--world::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(60% 70% at 18% 55%,rgba(255,255,255,.85),rgba(255,255,255,0) 70%)}
@media (max-width:900px){.phero--world .phero__world{width:170%;top:58%;opacity:.7;animation:none;transform:translate(-50%,-50%)}}
/* mapa do topo: imagem estática leve + pulsos */
.phero--world .phero__world{-webkit-mask-image:radial-gradient(62% 62% at 50% 45%,#000 55%,transparent 100%);mask-image:radial-gradient(62% 62% at 50% 45%,#000 55%,transparent 100%);animation:worldFade 1.2s ease-out both}
.phero--world .phero__world--fx{-webkit-mask-image:none;mask-image:none}
@keyframes worldFade{from{opacity:0}to{opacity:.9}}
@media (max-width:900px){.phero--world .phero__world{animation:none}}
.net-world__img{position:relative}
.net-world__img img{display:block;width:100%;height:auto}
.net-world__img .net-world__fx{position:absolute;inset:0;height:100%}
.net-world .wm__stats{margin-top:clamp(20px,2.4vw,32px)}
.nav a.nav--ext span{font-size:.8em;margin-left:3px;opacity:.6}
@media (max-width:1400px){.nav{gap:13px}.nav a{font-size:12.5px}}
@media (max-width:1320px){.nav,.head__cta .btn{display:none}.burger{display:block}}
/* serviços na página inicial: cartões com imagem */
.svx{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(12px,1.4vw,20px)}
.svx__card{position:relative;display:block;aspect-ratio:3/4;border-radius:calc(var(--r) + 4px);overflow:hidden;color:#fff;text-decoration:none;isolation:isolate;box-shadow:0 30px 60px -34px rgba(20,21,24,.55);transform:translateZ(0)}
.svx__card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1s var(--ease)}
.svx__card::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(14,15,18,.15) 0%,rgba(14,15,18,.35) 45%,rgba(14,15,18,.92) 100%);transition:opacity .5s}
.svx__card::after{content:"";position:absolute;inset:0;z-index:-1;background:var(--grad);opacity:0;mix-blend-mode:multiply;transition:opacity .5s}
.svx__in{height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(20px,2vw,28px)}
.svx__top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.svx__n{font-family:var(--ff-display);font-weight:700;font-size:14px;letter-spacing:.08em;opacity:.85}
.svx__tag{font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.svx__t{font-family:var(--ff-display);font-weight:800;font-stretch:112%;letter-spacing:-.03em;line-height:1;font-size:clamp(28px,2.6vw,40px);margin:0;color:#fff}
.svx__bot p{margin-top:12px;font-size:14.5px;line-height:1.5;color:rgba(255,255,255,.85);max-width:30ch}
.svx__cta{display:inline-flex;align-items:center;gap:10px;margin-top:18px;font-size:13px;font-weight:600;letter-spacing:.04em;padding-bottom:4px;border-bottom:1px solid rgba(255,255,255,.5)}
.svx__cta i{font-style:normal;transition:transform .35s var(--ease)}
.svx__card:hover img{transform:scale(1.06)}
.svx__card:hover::after{opacity:.55}
.svx__card:hover .svx__cta i{transform:translateX(5px)}
.svx__card:focus-visible{outline:3px solid #e8590c;outline-offset:3px}
@media (max-width:1100px){.svx{grid-template-columns:repeat(2,minmax(0,1fr))}.svx__card{aspect-ratio:4/3}}
@media (max-width:600px){.svx{grid-template-columns:1fr}.svx__card{aspect-ratio:5/4}}
/* 5 cartões: 3 em cima, 2 em baixo */
.svx{grid-template-columns:repeat(6,minmax(0,1fr))}
.svx>.svx__card{grid-column:span 2}
.svx>.svx__card:nth-child(n+4){grid-column:span 3;aspect-ratio:16/9}
.svx__card--digital{background:radial-gradient(80% 90% at 85% 20%,rgba(63,149,220,.55),transparent 60%),linear-gradient(160deg,#071533,#0a1e4a 60%,#123a7a)}
.svx__card--digital::before{background:linear-gradient(180deg,rgba(6,18,46,0) 30%,rgba(6,18,46,.75) 100%)}
.svx__card--digital::after{background:linear-gradient(95deg,#7cc0ec,#2563b8);mix-blend-mode:screen}
.svx__card--digital:hover::after{opacity:.25}
.svx__logo{position:absolute!important;inset:auto!important;right:7%;top:50%;width:min(52%,340px)!important;height:auto!important;object-fit:contain!important;transform:translateY(-62%);z-index:-1;opacity:.95;filter:drop-shadow(0 12px 30px rgba(47,128,209,.45));transition:transform .8s var(--ease)!important}
.svx__card--digital:hover .svx__logo{transform:translateY(-62%) scale(1.04)!important}
.svx__glow{position:absolute;right:-80px;top:-80px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(124,192,236,.45),transparent 65%);z-index:-1;animation:svxGlow 6s ease-in-out infinite}
@keyframes svxGlow{0%,100%{transform:translate(0,0)}50%{transform:translate(-30px,20px)}}
.svx__card--digital .svx__tag{background:rgba(124,192,236,.16);border-color:rgba(124,192,236,.4)}
.svx__card--digital .svx__cta{border-bottom-color:rgba(124,192,236,.7)}
.svx__card{transition:transform .5s var(--ease),box-shadow .5s}
.svx__card:hover{transform:translateY(-6px);box-shadow:0 40px 70px -34px rgba(20,21,24,.6)}
@media (max-width:1100px){.svx{grid-template-columns:repeat(2,minmax(0,1fr))}.svx>.svx__card,.svx>.svx__card:nth-child(n+4){grid-column:span 1;aspect-ratio:4/3}.svx>.svx__card:last-child{grid-column:span 2;aspect-ratio:16/7}}
@media (max-width:600px){.svx{grid-template-columns:1fr}.svx>.svx__card,.svx>.svx__card:nth-child(n+4),.svx>.svx__card:last-child{grid-column:auto;aspect-ratio:5/4}.svx__logo{top:34%;right:50%;transform:translate(50%,-50%);width:62%!important}.svx__card--digital:hover .svx__logo{transform:translate(50%,-50%)!important}}
@media (prefers-reduced-motion:reduce){.svx__glow{animation:none}}
.svx__card .svx__logo{inset:auto!important;top:44%!important;right:6%!important;left:auto!important;bottom:auto!important}
@media (max-width:600px){.svx__card .svx__logo{top:36%!important;right:50%!important}}
.svx__card .svx__logo{top:38%!important;width:min(42%,320px)!important}
@media (max-width:1100px){.svx__card .svx__logo{top:36%!important;width:min(38%,300px)!important}}
@media (max-width:600px){.svx__card .svx__logo{top:30%!important;width:52%!important}}
@media (max-width:600px){.svx>.svx__card--digital{aspect-ratio:1/1}.svx__card .svx__logo{top:30%!important;width:56%!important}}
.cal-row--nodate{grid-template-columns:minmax(0,1fr) 120px 170px}
.cal-row--nodate .seats{justify-self:end}
@media (max-width:760px){.cal-row--nodate{grid-template-columns:1fr auto}.cal-row--nodate .cal-row__title{grid-column:1;grid-row:1}.cal-row--nodate .seats{grid-column:2;grid-row:1}}
.partners-row .wordmark{display:inline-block;font-family:var(--ff-display);font-weight:800;font-stretch:112%;letter-spacing:-.02em;font-size:26px;color:#3a3c41;opacity:.8;line-height:1}
.partners-row__sep{align-self:stretch;width:1px;min-height:44px;background:var(--line);margin:0 6px}
@media (max-width:900px){.partners-row__sep{flex-basis:100%;width:100%;height:1px;min-height:0;margin:4px 0}}
@media (min-width:1101px){.partners-row{flex-wrap:nowrap;gap:24px 22px}.partners-row img{height:clamp(30px,2.7vw,44px);max-width:130px}.partners-row .wordmark{font-size:22px}}
@media (min-width:901px) and (max-width:1100px){.partners-row{justify-content:center;gap:24px 32px}.partners-row__sep{display:none}}
.stats.stats--3{grid-template-columns:repeat(3,1fr)}
.stats.stats--3 .stats__item:nth-child(2n){border-right:1px solid var(--line)!important}
.stats.stats--3 .stats__item:last-child{border-right:0!important}
.aud-ts{display:grid;gap:clamp(40px,5vw,72px);margin-top:clamp(24px,3vw,40px)}
.aud-t__head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:2px solid var(--fg,#141518)}
.aud-t__head .mono{color:#77797e;white-space:nowrap}
.aud-t__title{font-family:var(--ff-display);font-weight:800;font-stretch:112%;letter-spacing:-.03em;line-height:1;font-size:clamp(26px,2.8vw,40px);margin:0}
.aud-t{width:100%;border-collapse:collapse;table-layout:fixed}
.aud-t thead th{font-family:var(--ff-mono,inherit);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#77797e;font-weight:500;text-align:left;padding:14px 12px 10px 0;border-bottom:1px solid var(--line)}
.aud-t thead th:nth-child(1){width:150px}.aud-t thead th:nth-child(3){width:200px}.aud-t thead th:nth-child(4){width:70px}
.aud-t tbody th,.aud-t tbody td{text-align:left;padding:18px 12px 18px 0;border-bottom:1px solid var(--line);vertical-align:top;font-weight:400}
.aud-t tbody th a{color:var(--red,#b3141c);font-size:13px;font-weight:600;letter-spacing:.02em;text-decoration:none}
.aud-t tbody td a{color:inherit;text-decoration:none;font-size:clamp(16px,1.3vw,18px);font-weight:500}
.aud-t__sec{color:#55575c;font-size:14px}
.aud-t__go{text-align:right!important;padding-right:0!important}
.aud-t__go a{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--red,#b3141c);text-decoration:none;font-weight:600}
.aud-t tbody tr{transition:background .2s}
.aud-t tbody tr:hover{background:rgba(179,20,28,.035)}
.aud-t tbody tr:hover td a{color:var(--red,#b3141c)}
.aud-t a:focus-visible{outline:2px solid var(--red,#b3141c);outline-offset:3px}
@media (max-width:720px){
.aud-t thead{display:none}
.aud-t,.aud-t tbody,.aud-t tr{display:block;width:100%}
.aud-t tr{display:grid;grid-template-columns:1fr auto;gap:4px 12px;padding:16px 0;border-bottom:1px solid var(--line)}
.aud-t tbody th,.aud-t tbody td{display:block;padding:0;border:0}
.aud-t tbody th{grid-column:1/-1}
.aud-t tbody td:nth-child(2){grid-column:1/2}
.aud-t__sec{grid-column:1/2;font-size:13px}
.aud-t__go{grid-column:2/3;grid-row:2/4;align-self:center}
}
.aud-t tbody td.aud-t__go a{font-size:12px;letter-spacing:.1em;font-weight:600;white-space:nowrap;color:var(--red,#b3141c)}
.aud-t thead th:nth-child(4){width:90px}
/* OPCO Digital · pilares */
.dg-pillar{position:relative;overflow:hidden;isolation:isolate;gap:14px;background:linear-gradient(180deg,#fff 0%,#f6f9fd 100%);border-color:rgba(47,128,209,.16)}
.dg-pillar::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--dg-grad);transform:scaleX(.18);transform-origin:left;transition:transform .6s var(--ease)}
.dg-pillar::after{content:"";position:absolute;right:-40%;bottom:-55%;width:120%;height:90%;background:radial-gradient(closest-side,rgba(124,192,236,.28),transparent 70%);z-index:-1;opacity:.5;transition:opacity .5s}
.dg-pillar:hover::before{transform:scaleX(1)}
.dg-pillar:hover::after{opacity:1}
.dg-pillar:hover{box-shadow:0 18px 40px -18px rgba(37,99,184,.35)}
.dg-pillar__bg{position:absolute;right:14px;top:-6px;font-family:var(--ff-display);font-weight:800;font-stretch:112%;font-size:110px;line-height:1;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1px rgba(47,128,209,.14);z-index:-1;pointer-events:none;transition:-webkit-text-stroke-color .5s}
.dg-pillar:hover .dg-pillar__bg{-webkit-text-stroke-color:rgba(47,128,209,.3)}
.dg-pillar__ic{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--dg-grad);box-shadow:0 10px 22px -10px rgba(37,99,184,.6);margin-bottom:6px;transition:transform .5s var(--ease)}
.dg-pillar:hover .dg-pillar__ic{transform:translateY(-2px) rotate(-4deg)}
.dg-pillar__ic svg{width:24px;height:24px;fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.dg-pillar .dg-num{font-size:12px;letter-spacing:.14em;color:var(--dg-blue)}
.dg-pillar .h4{font-size:clamp(18px,1.5vw,21px);line-height:1.2}
@media (prefers-reduced-motion:reduce){.dg-pillar::before,.dg-pillar__ic{transition:none}}
.dg-pillar .dg-num{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.dg-pillar::before{height:4px;transform:scaleX(.28)}
.dg-pillar__ic{margin-bottom:10px}
/* Quem somos · visão e missão */
.vm{display:grid;gap:clamp(14px,1.6vw,20px)}
.vm__item{position:relative;overflow:hidden;isolation:isolate;padding:clamp(26px,3vw,42px);border-radius:var(--r);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);transition:transform .4s var(--ease),box-shadow .4s}
.vm__item::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#e8590c,#b3141c)}
.vm__item::after{content:"";position:absolute;right:-30%;top:-50%;width:80%;height:120%;background:radial-gradient(closest-side,rgba(232,89,12,.09),transparent 70%);z-index:-1}
.vm__item:hover{transform:translateY(-3px);box-shadow:0 20px 44px -22px rgba(179,20,28,.35)}
.vm__ic{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:linear-gradient(135deg,#e8590c,#b3141c);box-shadow:0 10px 22px -10px rgba(179,20,28,.6);margin-bottom:18px}
.vm__ic svg{width:23px;height:23px;fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.vm__title{font-family:var(--ff-display);font-weight:800;font-stretch:112%;letter-spacing:-.035em;line-height:.95;font-size:clamp(40px,4.4vw,64px);margin:0 0 16px;color:var(--fg,#141518)}
.vm__title span{background:linear-gradient(90deg,#b3141c,#e8590c);-webkit-background-clip:text;background-clip:text;color:transparent}
.vm__item p{font-size:clamp(16px,1.25vw,18px);line-height:1.55;color:#3a3c41;max-width:56ch}
.vm__pdf{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px clamp(22px,2.6vw,32px);border-radius:var(--r);border:1px solid var(--line);background:var(--paper,#f5f5f4);text-decoration:none;color:inherit;transition:border-color .3s,background .3s}
.vm__pdf b{display:block;font-family:var(--ff-display);font-stretch:110%;font-size:17px;letter-spacing:-.01em}
.vm__pdf small{display:block;color:#6b6d72;font-size:13px;margin-top:3px}
.vm__pdf-arr{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid currentColor;color:var(--red,#b3141c);flex:none;transition:transform .3s var(--ease),background .3s,color .3s}
.vm__pdf:hover{border-color:rgba(179,20,28,.4);background:#fff}
.vm__pdf:hover .vm__pdf-arr{background:var(--red,#b3141c);color:#fff;transform:rotate(-8deg)}
.vm__pdf:focus-visible{outline:2px solid var(--red,#b3141c);outline-offset:3px}
@media (max-width:900px){.vm{position:static}}
/* Quem somos · diferenciadores */
.dif{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.6vw,22px)}
.dif__item{position:relative;overflow:hidden;isolation:isolate;min-height:clamp(200px,18vw,250px);padding:clamp(24px,2.6vw,36px);border-radius:var(--r);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:space-between;gap:28px;transition:transform .4s var(--ease),box-shadow .4s}
.dif__item::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,#b3141c,#e8590c);transform:scaleX(.22);transform-origin:left;transition:transform .6s var(--ease)}
.dif__item:hover{transform:translateY(-4px);box-shadow:0 22px 46px -22px rgba(179,20,28,.38)}
.dif__item:hover::before{transform:scaleX(1)}
.dif__num{position:absolute;right:clamp(14px,1.6vw,24px);bottom:-.16em;font-family:var(--ff-display);font-weight:800;font-stretch:112%;letter-spacing:-.06em;line-height:1;font-size:clamp(110px,11vw,170px);background:linear-gradient(160deg,rgba(232,89,12,.9),rgba(179,20,28,.95));-webkit-background-clip:text;background-clip:text;color:transparent;opacity:.13;z-index:-1;transition:opacity .5s}
.dif__item:hover .dif__num{opacity:.24}
.dif__ic{display:grid;place-items:center;width:52px;height:52px;border-radius:15px;background:linear-gradient(135deg,#e8590c,#b3141c);box-shadow:0 12px 24px -12px rgba(179,20,28,.65)}
.dif__ic svg{width:25px;height:25px;fill:none;stroke:#fff;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.dif__title{font-family:var(--ff-display);font-weight:700;font-stretch:108%;letter-spacing:-.02em;line-height:1.12;font-size:clamp(21px,1.9vw,27px);margin:0;max-width:14ch}
@media (max-width:900px){.dif{grid-template-columns:1fr}.dif__item{min-height:0;flex-direction:row;align-items:center;gap:18px}.dif__num{font-size:110px}}
.dif__item{min-height:clamp(210px,18vw,250px)}
.dif__num{top:clamp(18px,2vw,30px);bottom:auto;right:clamp(20px,2.2vw,32px);font-size:clamp(56px,5.4vw,84px);letter-spacing:-.05em;opacity:1;z-index:0;background:linear-gradient(135deg,#e8590c 0%,#b3141c 70%);-webkit-background-clip:text;background-clip:text;color:transparent}
.dif__item:hover .dif__num{opacity:1;transform:translateY(-2px)}
.dif__num{transition:transform .5s var(--ease)}
.dif__ic{background:#fdf0ea;box-shadow:none}
.dif__ic svg{stroke:#b3141c}
.dif__item:hover .dif__ic{background:linear-gradient(135deg,#e8590c,#b3141c)}
.dif__item:hover .dif__ic svg{stroke:#fff}
.dif__ic,.dif__ic svg{transition:background .4s,stroke .4s}
@media (max-width:900px){.dif__item{flex-direction:column;align-items:flex-start;justify-content:space-between;gap:30px;min-height:170px}.dif__num{font-size:60px}}
.nav{flex-wrap:nowrap;gap:clamp(10px,1.15vw,22px)}
.nav a{white-space:nowrap}
@media (max-width:1400px){.nav{gap:11px}.nav a{font-size:12.5px}}
.lang__btn svg{flex:none}
.head__cta{flex:none}
.nav{min-width:0}
@media (min-width:1321px){.head__cta{margin-left:12px}.nav{gap:clamp(10px,1.05vw,22px)}}
.nav a.nav--or::after{background:var(--or)}
.partners-row__duo{display:flex;align-items:center;gap:14px}
.partners-row__duo img{max-width:96px}
.svx__bot p{min-height:3em}
.svc__num--big{font-family:var(--ff-display)!important;font-weight:800;font-stretch:112%;font-size:clamp(28px,2.6vw,38px)!important;letter-spacing:-.03em!important;line-height:1;color:var(--or-ink)!important}
.svc__list--rd{margin-top:14px!important;gap:10px}
.svc__list--rd li{font-size:15px;line-height:1.5}
#ssp .svc__item .h4{color:var(--fg)}
#onde .net__in{align-items:center}
@media (min-width:1000px){.team--9{grid-template-columns:repeat(3,1fr)}.team--9 .team__m img{aspect-ratio:4/3;object-fit:cover;object-position:50% 25%}}
.sblock__n{font-family:var(--ff-display);font-weight:800;font-stretch:112%;font-size:clamp(40px,4.4vw,64px);letter-spacing:-.04em;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.sblock__index+.sblock__glyph{width:clamp(96px,10vw,150px);margin-top:18px}
.stats--c .stats__item{text-align:center;display:flex;flex-direction:column;align-items:center}
.logos__duo{display:flex;gap:12px;align-items:center;justify-content:center}.logos--big .logos__duo img{max-width:84px;max-height:46px}
body[data-page="about"] .net-world__legend i{border-color:var(--red)}body[data-page="about"] .net-world__legend i.hub{background:var(--red)}body[data-page="about"] .net-world__grid .mono{color:var(--red)}
.phero.phero--img .phero__foot a.btn:not(.btn--solid):hover{background:var(--fg);color:#fff}
/* menu: dropdown serviços */
.nav__dd{position:relative;display:flex;align-items:center}
.nav__ddbtn{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:5px;font-size:13.5px;font-weight:500;color:var(--fg-2,#3a3c41);white-space:nowrap;padding-block:6px;position:relative}
.nav__ddbtn svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s var(--ease)}
.nav__ddbtn::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--accent);transition:right .35s var(--ease)}
.nav__dd:hover .nav__ddbtn,.nav__dd.is-open .nav__ddbtn,.nav__dd.is-cur .nav__ddbtn{color:var(--fg)}
.nav__dd.is-cur .nav__ddbtn::after{right:0}
.nav__ddbtn:focus-visible{outline:2px solid var(--red);outline-offset:4px;border-radius:2px}
.nav__menu{position:absolute;top:calc(100% + 12px);left:-18px;min-width:210px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 24px 50px -24px rgba(20,21,24,.35);padding:8px;display:grid;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s,transform .2s,visibility 0s .2s;z-index:60}
.nav__menu::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.nav__dd:hover .nav__menu,.nav__dd:focus-within .nav__menu,.nav__dd.is-open .nav__menu{opacity:1;visibility:visible;transform:none;transition:opacity .2s,transform .2s}
.nav__dd:hover .nav__ddbtn svg,.nav__dd.is-open .nav__ddbtn svg{transform:rotate(180deg)}
.nav .nav__menu a{display:block;padding:10px 12px;border-radius:8px;font-size:14px}
.nav .nav__menu a::after{display:none}
.nav .nav__menu a:hover,.nav .nav__menu a[aria-current="page"]{background:var(--bg-2,#f4f4f5);color:var(--red)}
/* menu móvel organizado */
.drawer .dnav{display:flex;flex-direction:column;gap:10px}
.drawer .dnav a{font-family:inherit;text-transform:none;letter-spacing:0;font-stretch:100%;line-height:1.2;border:0;padding:0;gap:0}
.drawer .dnav__net{display:grid!important;grid-template-columns:auto 1fr auto;align-items:center;column-gap:12px;padding:16px 18px!important;border-radius:14px;background:linear-gradient(120deg,rgba(232,89,12,.10),rgba(179,20,28,.06));border:1px solid rgba(232,89,12,.28)!important}
.dnav__dot{width:9px;height:9px;border-radius:50%;background:var(--or);box-shadow:0 0 0 4px rgba(232,89,12,.18);grid-row:1/3}
.dnav__nett{font-family:var(--ff-display);font-weight:800;font-stretch:112%;letter-spacing:-.03em;font-size:22px;color:var(--or-ink)}
.dnav__nets{grid-column:2;font-size:10px;letter-spacing:.12em;color:#77797e;margin-top:3px}
.dnav__arr{grid-column:3;grid-row:1/3;color:var(--or-ink);font-size:18px}
.dnav__lbl{margin:14px 0 0;font-size:10.5px;letter-spacing:.14em;color:var(--red)}
.dnav__grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.drawer .dnav__grid a{display:flex;align-items:flex-end;min-height:68px;padding:12px 14px!important;border-radius:12px;border:1px solid var(--line)!important;background:#fff;font-family:var(--ff-display);font-weight:750;font-stretch:112%;letter-spacing:-.025em;font-size:17px;color:var(--fg)}
.drawer .dnav__grid a[aria-current="page"]{border-color:var(--red)!important;color:var(--red)}
.dnav__list{display:flex;flex-direction:column}
.drawer .dnav__list a{display:flex;justify-content:space-between;align-items:center;padding:13px 2px!important;border-bottom:1px solid var(--line-soft)!important;font-family:var(--ff-display);font-weight:750;font-stretch:112%;letter-spacing:-.025em;font-size:20px;color:var(--fg)}
.drawer .dnav__list a::after{content:"→";font-size:15px;color:#9a9ca1;font-family:inherit}
.drawer .dnav__list a[aria-current="page"]{color:var(--red)}
.dnav__ext{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.drawer .dnav__ext a{padding:9px 14px!important;border-radius:999px;border:1px solid var(--line)!important;font-size:13px;font-weight:600;color:var(--fg)}
.drawer .dnav a.dnav__net{column-gap:12px}.drawer .dnav__ext a span{margin-left:4px}
@media (max-width:1320px) and (min-width:1101px){.nav{display:flex}.head__cta .btn{display:inline-flex}.burger{display:none}.nav{gap:14px}}
